static
int xattr_type_filter(struct ll_sb_info *sbi, int xattr_type)
{
- if ((xattr_type == XATTR_ACL_ACCESS_T ||
- xattr_type == XATTR_ACL_DEFAULT_T) &&
- !(sbi->ll_flags & LL_SBI_ACL))
- return -EOPNOTSUPP;
+ if ((xattr_type == XATTR_ACL_ACCESS_T) ||
+ (xattr_type == XATTR_ACL_DEFAULT_T)) {
+ if (sbi->ll_flags & LL_SBI_RMT_CLIENT) {
+ CWARN("For remote client, "
+ "repalce \"xetfacl\" with \"lfs xetfacl\"");
+ return -EOPNOTSUPP;
+ } else if (!(sbi->ll_flags & LL_SBI_ACL)) {
+ CWARN("Server not support xetfacl\n");
+ return -EOPNOTSUPP;
+ }
+ }
if (xattr_type == XATTR_USER_T && !(sbi->ll_flags & LL_SBI_USER_XATTR))
return -EOPNOTSUPP;