Skip to content

Commit

Permalink
ceph: Don't forget the 'up_read(&osdc->map_sem)' if met error.
Browse files Browse the repository at this point in the history
CC: stable@vger.kernel.org
Signed-off-by: Jianpeng Ma <majianpeng@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
  • Loading branch information
majianpeng authored and Sage Weil committed Aug 10, 2013
1 parent 8b8cf89 commit 494ddd1
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion fs/ceph/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,10 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg)
r = ceph_calc_file_object_mapping(&ci->i_layout, dl.file_offset, len,
&dl.object_no, &dl.object_offset,
&olen);
if (r < 0)
if (r < 0) {
up_read(&osdc->map_sem);
return -EIO;
}
dl.file_offset -= dl.object_offset;
dl.object_size = ceph_file_layout_object_size(ci->i_layout);
dl.block_size = ceph_file_layout_su(ci->i_layout);
Expand Down

0 comments on commit 494ddd1

Please sign in to comment.