On Thu, Apr 23, 2015 at 2:29 PM, Andriy Gapon <[email protected]> wrote:
> On 24/04/2015 00:00, Matthew Ahrens wrote: > > On Thu, Apr 23, 2015 at 1:24 PM, Andriy Gapon < > [email protected]> wrote: > > It seems that any filesystem is considered modified when compared to > $ORIGIN. > > And ds_prev of a filesystem without any real snapshots points to > $ORIGIN. > > Or is it $ORIGIN@$ORIGIN actually? > > > > > > Yes. And the filesystems actually *are* modified, compared to the > > $ORIGIN@$ORIGIN. They have been initialized by the ZPL (or zvol), e.g. > to > > contain the root directory. Whereas the $ORIGIN@$ORIGIN is truly empty > from the > > DSL/DMU point of view -- it has no blocks. > > This totally makes sense - thank you for the explanation! > > I see another curious / not-entirely-expected thing about zfs receive. > If a destination filesystem has been modified since the last received > snapshot - > if any, and it also has at least one newer local snapshots, and a stream is > received into that filesystem, and the force flag is true, then: > * if the stream is incremental, then all the newer snapshots are > destroyed, the > filesystem is virtually rolled back to the latest received snapshot and > then the > stream is applied; > * if the stream is full, then the operation fails despite the force flag. > > However, if the destination filesystem is modified but there are no newer > snapshots, then in both cases the operation succeeds: any local > modifications > are discarded and the stream is applied. > > So, I wonder what a rationale is for not destroying the local snapshots if > a > full stream is force-received into the existing and modified and > "snapshotted" > filesystem. > I think that's a bug / not-fully-implemented-feature. "zfs receive -F" should be allowed to destroy whatever it takes to do the receive that you requested. (Also the manpage should be updated to reflect this.) --matt > > Maybe this is a bug and recv_begin_check_existing_impl() needs to take into > account the force flag for the full stream case as well. > > -- > Andriy Gapon >
_______________________________________________ developer mailing list [email protected] http://lists.open-zfs.org/mailman/listinfo/developer
