mirror of
https://github.com/ceph/ceph
synced 2024-12-19 09:57:05 +00:00
mds: Handle ENODATA returned from getxattr
The osds might return ENODATA if we request an xattr that doesn't exist. In this case, we're requesting the 'parent' xattr so that we can remove all the forwarding pointers, but the xattr may not have been written (which only happens on log segment trim), so we don't assert here. Signed-off-by: Sam Lang <sam.lang@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
This commit is contained in:
parent
6774290ea0
commit
9029b0915b
@ -8449,7 +8449,7 @@ public:
|
||||
|
||||
void MDCache::_purge_forwarding_pointers(inode_backtrace_t *backtrace, CDentry *d, int r, Context *fin)
|
||||
{
|
||||
assert(r == 0 || r == -ENOENT);
|
||||
assert(r == 0 || r == -ENOENT || r == -ENODATA);
|
||||
// setup gathering context
|
||||
C_GatherBuilder gather_bld(g_ceph_context);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user