On 1/23/19 12:25 PM, Andrei Borzenkov wrote:
> On Wed, Jan 23, 2019 at 1:45 PM Dennis Katsonis <denn...@netspace.net.au> 
> wrote:
>> I think my previous e-mail did not go through.  Basically, if it is
>> assumed that a btrfs-receive operation will result in a subvolume which
>> matches the source file for file, then this assumption or expectation
>> won't be met if one deletes files from the subvolume at the receiving
>> end which is going to be referred to as the parent.
>>
> 
> This is oxymoron. btrfs send/receive apply to read-only subvolumes.
> You are not able to modify them. As soon as you remove read-only bit,
> you are fully responsible for consequences.
> 
>> This can happen inadvertently,
> 
> It cannot. You do not inadvertently make subvolume read-write. And if
> you do, you are expected to know what you are doing.
> 
> That said, better if btrfs did not allow flipping read-only bit in the
> first place.

+100

But then only disallow if the subvol has a value in the received_uuid
field, I'd say.

And the tooling could display a nice error message, telling the user to
make a rw snapshot of the received subvol instead, which will have an
empty received_uuid field again.

ERROR: subvolume is a received subvolume, which cannot be made read-write
ERROR: suggestion; make a read-write snapshot of it instead

Setting something ro manually (e.g. to prevent accidental deletion of a
static set of data) is still also a use case.

>> or even through filesystem corruption
>> (which I experienced).
>>
> 
> And if corruption happened after applying changes? End result in the
> same. Of course it would be perfect if btrfs could notice and warn
> you, I just do not see how it can realistically be implemented.
> 


-- 
Hans van Kranenburg

Reply via email to