diff options
| -rw-r--r-- | fs/ceph/ioctl.c | 3 | ||||
| -rw-r--r-- | fs/ceph/locks.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/ioctl.c b/fs/ceph/ioctl.c index efbe08289292..2042fd16d1a8 100644 --- a/fs/ceph/ioctl.c +++ b/fs/ceph/ioctl.c | |||
| @@ -110,6 +110,8 @@ static long ceph_ioctl_set_layout(struct file *file, void __user *arg) | |||
| 110 | return PTR_ERR(req); | 110 | return PTR_ERR(req); |
| 111 | req->r_inode = inode; | 111 | req->r_inode = inode; |
| 112 | ihold(inode); | 112 | ihold(inode); |
| 113 | req->r_num_caps = 1; | ||
| 114 | |||
| 113 | req->r_inode_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL; | 115 | req->r_inode_drop = CEPH_CAP_FILE_SHARED | CEPH_CAP_FILE_EXCL; |
| 114 | 116 | ||
| 115 | req->r_args.setlayout.layout.fl_stripe_unit = | 117 | req->r_args.setlayout.layout.fl_stripe_unit = |
| @@ -154,6 +156,7 @@ static long ceph_ioctl_set_layout_policy (struct file *file, void __user *arg) | |||
| 154 | return PTR_ERR(req); | 156 | return PTR_ERR(req); |
| 155 | req->r_inode = inode; | 157 | req->r_inode = inode; |
| 156 | ihold(inode); | 158 | ihold(inode); |
| 159 | req->r_num_caps = 1; | ||
| 157 | 160 | ||
| 158 | req->r_args.setlayout.layout.fl_stripe_unit = | 161 | req->r_args.setlayout.layout.fl_stripe_unit = |
| 159 | cpu_to_le32(l.stripe_unit); | 162 | cpu_to_le32(l.stripe_unit); |
diff --git a/fs/ceph/locks.c b/fs/ceph/locks.c index d94ba0df9f4d..191398852a2e 100644 --- a/fs/ceph/locks.c +++ b/fs/ceph/locks.c | |||
| @@ -45,6 +45,7 @@ static int ceph_lock_message(u8 lock_type, u16 operation, struct file *file, | |||
| 45 | return PTR_ERR(req); | 45 | return PTR_ERR(req); |
| 46 | req->r_inode = inode; | 46 | req->r_inode = inode; |
| 47 | ihold(inode); | 47 | ihold(inode); |
| 48 | req->r_num_caps = 1; | ||
| 48 | 49 | ||
| 49 | /* mds requires start and length rather than start and end */ | 50 | /* mds requires start and length rather than start and end */ |
| 50 | if (LLONG_MAX == fl->fl_end) | 51 | if (LLONG_MAX == fl->fl_end) |
