Fun with ZFS
    Craig Boston 
    craig at xfoil.gank.org
       
    Tue Apr 10 21:49:02 UTC 2007
    
    
  
Just playing around, doing some stress testing and see what I could
break.  Since zvols are exposed as GEOM providers I decided to see if it
would accept them in a pool.  Slightly surprising, it works without
incident:
# zfs create -V 4G tank/testvol
# zpool create test zvol/tank/testvol
The resulting /test seems full functional.  Though why anyone would want
to do such a thing I have no idea.
More in the realm of intentional foot-shooting, you can get a nice
deadlock by doing that recursively:
# zfs create -V 1G test/panicme
# zpool add test zvol/test/panicme
;)
Though as far as deadlocks go it's not a particularly bad one.  zpool
and zfs commands all hang in zfs:(& or zfs:&s states, but the
filesystems can still be accessed -- even the ones in the test pool
above.
Of course there can be no sane behavior to the above sequence of
commands, except perhaps a panic or a stern warning message if it's
really nice.
Next up: interactions with ggate and other GEOM classes.
Craig
    
    
More information about the freebsd-current
mailing list