- }
-
- if (!(req->rq_export->exp_connect_flags & OBD_CONNECT_XATTR) &&
- (strncmp(xattr_name, user_string, sizeof(user_string) - 1) == 0)) {
- GOTO(out, rc = -EOPNOTSUPP);
+ if (strcmp(xattr_name, XATTR_NAME_LMA) == 0)
+ GOTO(out, rc = 0);
+ if (strcmp(xattr_name, XATTR_NAME_LINK) == 0)
+ GOTO(out, rc = 0);
+ } else if ((valid & OBD_MD_FLXATTR) &&
+ (strncmp(xattr_name, XATTR_NAME_ACL_ACCESS,
+ sizeof(XATTR_NAME_ACL_ACCESS) - 1) == 0 ||
+ strncmp(xattr_name, XATTR_NAME_ACL_DEFAULT,
+ sizeof(XATTR_NAME_ACL_DEFAULT) - 1) == 0)) {
+ /* currently lustre limit acl access size */
+ if (xattr_len > LUSTRE_POSIX_ACL_MAX_SIZE)
+ GOTO(out, -ERANGE);