Evan Layton wrote:
>>
>> I don't think you can make this change without the other.
>> For the single BE case now, you don't ever process the root
>> dataset's snapshots.  Maybe just do a simple if/else to call
>> either zfs_iter_children/filesystem for the corresponding
>> need?
>>
> 
> Actually this does work because the zfs_iter_filesystem is only used
> for the initial root dataset. 

Have you tested this?  Based on code inspection, I see it only
iterating down the root dataset's children *filesystems*, I
don't see how the root dataset's snapshots ever get processed.

> All subsequent datasets and snapshots
> are processed inside be_add_children which calls zfs_iter_children.
> Because of this the snapshots for the single BE case are processed as
> well.

But this would only process snapshots of any subordinate datasets
of that BE, not snapshots of the root dataset of the BE itself.


> This is a case of my paranoia. We should never get into a situation
> where we're already processed a snapshot and need to skip it but just
> in case I added this to make sure in the very unlikely event that we
> did already have this snapshot that it didn't get added twice. I can
> either remove this code or add to the comment the fact that we should
> never get into this situation.

I'd much rather you remove it.


thanks,
-ethan

Reply via email to