Details
-
Bug
-
Resolution: Fixed
-
Major
-
Lustre 2.5.3
-
None
-
3
-
15806
Description
getxattr() calls occasionally fail with EIO. We believe that this is due to a race between concurrent calls on the same file (see ll_xattr_cache_refill):
/* Matched but no cache? Cancelled on error by a parallel refill. */
if (unlikely(req == NULL)) {
CDEBUG(D_CACHE, "cancelled by a parallel getxattr\n");
GOTO(out_maybe_drop, rc = -EIO);
}
This should be adjusted so that both calls end consistenty.