diff options
Diffstat (limited to 'fs/ceph/ioctl.c')
| -rw-r--r-- | fs/ceph/ioctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ceph/ioctl.c b/fs/ceph/ioctl.c index 8888c9ba68db..ef0b5f48e13a 100644 --- a/fs/ceph/ioctl.c +++ b/fs/ceph/ioctl.c | |||
| @@ -73,7 +73,8 @@ static long ceph_ioctl_set_layout(struct file *file, void __user *arg) | |||
| 73 | USE_AUTH_MDS); | 73 | USE_AUTH_MDS); |
| 74 | if (IS_ERR(req)) | 74 | if (IS_ERR(req)) |
| 75 | return PTR_ERR(req); | 75 | return PTR_ERR(req); |
| 76 | req->r_inode = igrab(inode); | 76 | req->r_inode = inode; |
| 77 | ihold(inode); | ||
| 77 | req->r_inode_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL; | 78 | req->r_inode_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL; |
| 78 | 79 | ||
| 79 | req->r_args.setlayout.layout.fl_stripe_unit = | 80 | req->r_args.setlayout.layout.fl_stripe_unit = |
| @@ -135,7 +136,8 @@ static long ceph_ioctl_set_layout_policy (struct file *file, void __user *arg) | |||
| 135 | 136 | ||
| 136 | if (IS_ERR(req)) | 137 | if (IS_ERR(req)) |
| 137 | return PTR_ERR(req); | 138 | return PTR_ERR(req); |
| 138 | req->r_inode = igrab(inode); | 139 | req->r_inode = inode; |
| 140 | ihold(inode); | ||
| 139 | 141 | ||
| 140 | req->r_args.setlayout.layout.fl_stripe_unit = | 142 | req->r_args.setlayout.layout.fl_stripe_unit = |
| 141 | cpu_to_le32(l.stripe_unit); | 143 | cpu_to_le32(l.stripe_unit); |
