diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2010-04-13 14:45:56 -0400 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-04-13 15:28:54 -0400 |
commit | e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf (patch) | |
tree | 028dcbe599b2ecd0a08519e741298a7a5fcb701d /fs/ceph/dir.c | |
parent | fc837c8f0446b73a1661339db406c0238dd1d184 (diff) |
ceph: reserve one more caps space when doing readdir
We were missing space for the directory cap. The result was a BUG at
fs/ceph/caps.c:2178.
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/dir.c')
-rw-r--r-- | fs/ceph/dir.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index 7505b4f1f597..159f588ca160 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c | |||
@@ -311,7 +311,7 @@ more: | |||
311 | req->r_readdir_offset = fi->next_offset; | 311 | req->r_readdir_offset = fi->next_offset; |
312 | req->r_args.readdir.frag = cpu_to_le32(frag); | 312 | req->r_args.readdir.frag = cpu_to_le32(frag); |
313 | req->r_args.readdir.max_entries = cpu_to_le32(max_entries); | 313 | req->r_args.readdir.max_entries = cpu_to_le32(max_entries); |
314 | req->r_num_caps = max_entries; | 314 | req->r_num_caps = max_entries + 1; |
315 | err = ceph_mdsc_do_request(mdsc, NULL, req); | 315 | err = ceph_mdsc_do_request(mdsc, NULL, req); |
316 | if (err < 0) { | 316 | if (err < 0) { |
317 | ceph_mdsc_put_request(req); | 317 | ceph_mdsc_put_request(req); |