Bug 3947 - DC doesn't recognize ZFS subdirs as ZFS
: DC doesn't recognize ZFS subdirs as ZFS
Status: ACCEPTED
Product: distro-constructor
dc-cli
: unspecified
: ANY/Generic OpenSolaris
: P4 normal (vote)
: 2010.1H
Assigned To: Watcher account for Distribution Constructor bugs
:
:
: top_60
:
:
:
  Show dependency treegraph
 
Reported: 2008-10-15 11:40 UTC by jack.a.schwartz
Modified: 2009-05-08 11:26 UTC (History)
4 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description jack.a.schwartz 2008-10-15 11:40:43 UTC
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
...
Comment 1 Jean McCormack 2008-10-15 11:55:57 UTC
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!
Comment 2 jack.a.schwartz 2008-10-15 17:31:40 UTC
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?
Comment 3 jack.a.schwartz 2008-10-16 11:19:41 UTC
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.