Ignore ENOSPC generated by our own callback, as it is only used to
terminate the loop.
Broken by commit
cd90061239a598f6fca94326b6d2c32f325c96eb.
Fixes: #1728
Signed-off-by: Sage Weil <sage@newdream.net>
rc.pos = 0;
rc.snap = fino_snap(ino);
- int r;
- r = client->readdir_r_cb(dirp, ceph_ll_add_dirent, &rc);
-
- if (r == 0) {
+ int r = client->readdir_r_cb(dirp, ceph_ll_add_dirent, &rc);
+ if (r == 0 || r == -ENOSPC) /* ignore ENOSPC from our callback */
fuse_reply_buf(req, rc.buf, rc.pos);
- } else {
+ else
fuse_reply_err(req, -r);
- }
delete[] rc.buf;
}