Bugzilla – Bug 3947
DC doesn't recognize ZFS subdirs as ZFS
Last modified: 2009-05-08 11:26:01 UTC
You need to log in before you can comment on or make changes to this bug.
If a directory inside a zfs filesystem is specified as such, DC doesn't recognize it as part of a ZFS file system. For example, # df -k | grep disk2 ... disk2_pool 478937088 81339999 372129774 18% /export/home ... In manifest, I have: <build_area>/export/home/ib/piz</build_area> Then when I run distro_const, I see this: # distro_const build -p 1 ./slim_cd.xml /usr/share/distro_const/DC-manifest.defval.xml validates /tmp/slim_cd_temp_27862.xml validates /export/home/ib/piz: No such file or directory /export/home/ib/piz: No such file or directory Checkpointing is not available Rerun the build without -p # Whereas, when I specify the build_area in the manifest differently: <build_area>disk2_pool/ib/piz</build_area> the DC runs happily: # distro_const build -p 1 ./slim_cd.xml /usr/share/distro_const/DC-manifest.defval.xml validates /tmp/slim_cd_temp_27872.xml validates Simple Log: /export/home/ib/piz/logs/simple-log-2008-10-15-11-37-43 Detail Log: /export/home/ib/piz/logs/detail-log-2008-10-15-11-37-43 Build Area dataset: disk2_pool/ib/piz Build Area mount point: /export/home/ib/piz Build started Wed Oct 15 11:37:43 2008 ...
This is intentional behavior. In your case:/export/home/ib/piz is a subdir of the dataset disk2_pool mounted at /export/home. From the output I'll bet that /export/home/ib/piz doesn't relate to a dataset exactly, it's just a subdir of /export/home. If we did checkpoint, we'd have to checkpoint /export/home and rollback /export/home. This is not something we want to do. Why? Say I have another subdir at /export/home/jeanm. When you rollback /export/home you now rollback everything under /export/home, i.e. /export/home/ib/piz (that's what you want) and /export/home/jeanm. I certainly am not going to be happy with you for that!
No... we could equate /export/home/ib/pia with disk2_pool/ib/pia via df or zfs list. df shows this: strongheart:/home/schwartz/gates/slim_source> df -k | grep "disk2_pool/ib/pia" disk2_pool/ib/pia/build_data 478937088 457985 372129076 1% /export/home/ib/pia/build_data disk2_pool/ib/pia/media 478937088 588364 372129076 1% /export/home/ib/pia/media disk2_pool/ib/pia/logs 478937088 850 372129076 1% /export/home/ib/pia/logs zfs list shows this: strongheart:/home/schwartz/gates/slim_source> zfs list | grep "disk2_pool/ib/pia" disk2_pool/ib/pia 1.90G 355G 18K /export/home/ib/pia ... plus a whole lot of other things set up by DC. If /export/home/ib/pia was not a zfs file system, it wouldn't show up here. So we can easily equate disk2_pool/ib/piz with /export/home/ib/piz. Or am I missing something?
This can be done, and it makes sense. It may be a bit more complicated though... If /export/home/ib/piz doesn't exist, it can be created as a zfs file system. If it does and is already a ZFS file system, terrific! If it does but isn't a ZFS file system, say that checkpointing is disabled and don't create any new file system. Reopening this bug, but setting its target milestone to "future" because the person who did the original work in this department says it is complicated, and we don't want to destabilize DC at this time with heavy changes.