Prior to 4bef69000d93 (orangefs: react properly to posix_acl_update_mode's aftermath.) it used to be possible to do orangefs_set_acl(inode, NULL, ACL_TYPE_ACCESS) - it would've removed the corresponding xattr and that would be it. Now it fails with -EINVAL without having done anything. How is one supposed to remove ACLs there? Moreover, if you change an existing ACL to something that is expressible by pure mode, you end up calling __orangefs_setattr(), which will call posix_acl_chmod(). And AFAICS that will happen with *old* ACL still cached, so you'll get ACL_MASK/ACL_OTHER updated in the old ACL. How can that possibly work? Sure, you want to propagate the updated mode to server - after you've done the actual update (possibly removal) of ACL-encoding xattr there...