ceph: Add check returned value on func ceph_calc_ceph_pg.
PATCH 1/1 ceph: Add check returned value on func ceph_calc_ceph_pg.
Func ceph_calc_ceph_pg maybe failed.So add check for returned value.
Signed-off-by Jianpeng Ma <[email protected]>
--- fs/ceph/ioctl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
fs/ceph/ioctl.c +6 -2
@@ -209,8 +209,12 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg)snprintf (dl.object_name,sizeof (dl.object_name),"%llx.%08llx" ,ceph_ino (inode), dl.object_no); -ceph_calc_ceph_pg (&pgid, dl.object_name, osdc->osdmap, -ceph_file_layout_pg_pool (ci->i_layout)); + r =ceph_calc_ceph_pg (&pgid, dl.object_name, osdc->osdmap, +ceph_file_layout_pg_pool (ci->i_layout)); +if (r <0 ) { +up_read (&osdc->map_sem); +return r; + } dl.osd =ceph_calc_pg_primary (osdc->osdmap, pgid);if (dl.osd >=0 ) {
Signature · 5 lines
1.8.1.2 Thanks! Jianpeng Ma
Sage Weil
AppliedApplied, thanks!
Quoted 32 lines · majianpeng
Func
ceph_calc_ceph_pgmaybe failed.So add check for returned value.Signed-off-by Jianpeng Ma <[email protected]>--- fs/ceph/ioctl.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)fs/ceph/ioctl.c +6
-2@@ -209,8 +209,12 @@ static long ceph_ioctl_get_dataloc(struct file *file, void __user *arg)snprintf (dl.object_name,sizeof (dl.object_name),"%llx.%08llx" ,ceph_ino (inode), dl.object_no); -ceph_calc_ceph_pg (&pgid, dl.object_name, osdc->osdmap, -ceph_file_layout_pg_pool (ci->i_layout)); + r =ceph_calc_ceph_pg (&pgid, dl.object_name, osdc->osdmap, +ceph_file_layout_pg_pool (ci->i_layout)); +if (r <0 ) { +up_read (&osdc->map_sem); +return r; + } dl.osd =ceph_calc_pg_primary (osdc->osdmap, pgid);if (dl.osd >=0 ) {Signature · 5 lines
1.8.1.2 Thanks! Jianpeng Ma