aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@hq.newdream.net>2010-04-13 11:45:56 -0700
committerSage Weil <sage@newdream.net>2010-04-13 12:28:54 -0700
commite1e4dd0caa63e166afa46a1ccc947bebb4f66bcf (patch)
tree028dcbe599b2ecd0a08519e741298a7a5fcb701d /fs
parentceph: queue_cap_snap should always queue dirty context (diff)
downloadlinux-dev-e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf.tar.xz
linux-dev-e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf.zip
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')
-rw-r--r--fs/ceph/dir.c2
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:
req->r_readdir_offset = fi->next_offset;
req->r_args.readdir.frag = cpu_to_le32(frag);
req->r_args.readdir.max_entries = cpu_to_le32(max_entries);
- req->r_num_caps = max_entries;
+ req->r_num_caps = max_entries + 1;
err = ceph_mdsc_do_request(mdsc, NULL, req);
if (err < 0) {
ceph_mdsc_put_request(req);