Re: [PATCH - nfsv4-acl-tools] nfs4_ace_from_string: ignore inheritance ACEs on non-directories.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 15 2016, J. Bruce Fields wrote:

> On Wed, Feb 24, 2016 at 02:54:18PM +1100, NeilBrown wrote:
>> 
>> If you try to use
>>      nfs4_setfacl -R -a A:d:........   directory
>> 
>> to recursively set an inheritance ACE on all directories in a tree, it
>> will fail on the first non-directory as setting an inheritance ACE
>> there is not permitted (and as it aborts on the first sign of an error).
>> 
>> So use the is_dir flag to avoid doing that, just as is done with the
>> DELETE_CHILD permission.
>> 
>> Signed-off-by: NeilBrown <neilb@xxxxxxxx>
>> ---
>> 
>> Hi Bruce,
>>  are you still maintaining nfsv4-acl-tools?  Last commit was over
>>  a year ago!! I guess that means it is nearly perfect :-)
>
> Alas, it could probably use some love.  I'm hoping richacls take over,
> though.  Eventually.
>
>>  A customer came across this problem and it seems simple to fix,
>>  but if I'm missing something important, please let me know.
>
> I didn't trace carefully through the callers, but I suspect this'll also
> mean that nfs4_setfacl also silently discards inheritable ACEs in some
> cases where the user could know better, instead of erroring out?

I guess so.  If you give a file on the command line then you still want
the error.  If you give a directory and "-R" you don't.  I wonder how
much work that would be....

>
> But, honestly, I'm not necessarily even sure which is the better
> behavior, and -R needs to work, so, applying.

Thanks.

>
> Futher patches, or volunteers for maintenance, welcome....

:-)  Patches, maybe.  The rest - not me!!

Thanks,
NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux