diff options
author | Yehuda Sadeh <yehuda@hq.newdream.net> | 2010-04-13 20:45:56 +0200 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-04-13 21:28:54 +0200 |
commit | e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf (patch) | |
tree | 028dcbe599b2ecd0a08519e741298a7a5fcb701d /fs/ceph | |
parent | ceph: queue_cap_snap should always queue dirty context (diff) | |
download | linux-e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf.tar.xz linux-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/ceph')
-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: 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); |