On 03/22/2018 01:15 PM, Austin S. Hemmelgarn wrote:
> On 2018-03-21 16:38, Goffredo Baroncelli wrote:
>> On 03/21/2018 12:47 PM, Austin S. Hemmelgarn wrote:
>>> I agree as well, with the addendum that I'd love to see a new ioctl that 
>>> does proper permissions checks.  While letting rmdir(2) work for an empty 
>>> subvolume with the appropriate permissions would be great (it will let rm 
>>> -r work correctly), it doesn't address the usefulness of being able to just 
>>> `btrfs subvolume delete` and not have to wait for the command to finish 
>>> before you can reuse the name.
>>
>> How this could work ?
>>
>> If you want to check all the subvolumes files permissions, this will require 
>> some time: you need to traverse all the subvolume-filesystem; and only if 
>> all the checks are passed, you can delete the subvolume.
>>
>> Unfortunately I think that only two options exist:
>> - don't check permissions, and you can quick remove a subvolume
>> - check all the permissions, i.e. check all the files permissions, and only 
>> if all the permissions are OK, you can delete the subvolume. However this 
>> cannot be a "quick" subvolume delete
> 
> Why exactly would you need to check everything?  What I'm talking about is 
> having behavior like `user_subvol_rm_allowed` be the default, with an 
> additional check emulating the regular dentry removal check (namely that the 
> user has appropriate permissions on the parent directory) so that people 
> can't delete things like their own home directories.  We're already _way_ 
> beyond POSIX semantics here because we're debating the handling of 
> permissions for an ioctl that takes a different fd than what it functionally 
> operates on, so I see no reason whatsoever that we need to enforce POSIX 
> semantics to that degree.
> 

Why "user_subvol_rm_allowed" doesn't satisfy your needing ? Does not perform 
enough permission checking ?

BR
G.Baroncelli


-- 
gpg @keyserver.linux.it: Goffredo Baroncelli <kreijackATinwind.it>
Key fingerprint BBF5 1610 0B64 DAC6 5F7D  17B2 0EDA 9B37 8B82 E0B5
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to