Re: ZFSv28, zfs list behaviour and sysutils/freebsd-snapshot

From: Urankar Mikael <mikael.urankar_at_ujf-grenoble.fr>
Date: Mon, 14 Mar 2011 09:37:25 +0100
On Mon 14 March 2011 at 02:44:16AM -0400, J. Hellenthal wrote:
> On Thu, 10 Mar 2011 08:17, mikael.urankar_at_ wrote:
> >Hi,
> >
> >I'm using sysutils/freebsd-snapshot to make periodic ZFS backup snapshot
> >and this soft is broken since the upgrade of my pool to ZFSv28.
> >After some debugging it appears that "zfs list" behaviour has changed
> >with ZFSv28, and since freebsd-snapshot relies on "zfs list" to retrieve
> >the "ZFS file system name" from the "mountpoint name" the soft doesn't
> >work anymore.
> >
> >output of "zfs list" on a 8.2R amd64 (ZFSv15) :
> >zfs list /home/murankar
> >NAME                 USED  AVAIL  REFER  MOUNTPOINT
> >tank/home/murankar  1.47M  1.59T  1.47M  /home/murankar
> >
> >zfs list tank/home/murankar
> >NAME                 USED  AVAIL  REFER  MOUNTPOINT
> >tank/home/murankar  1.47M  1.59T  1.47M  /home/murankar
> >
> >on a 9-Current amd64 I've got no output for "zfs list /home/murankar"
> >and a exit code of 1
> >the output of "zfs list tank/home/murankar" is correct :
> >NAME                 USED  AVAIL  REFER  MOUNTPOINT
> >tank/home/murankar  6,56G   286G  6,55G  /home/murankar
> 
> Looking at the output here I am hoping that this is not hand typed! the 
> character ',' appears in this output which might fool a script into doing 
> other things if it has not been avoided in the first place.

This is not hand typed and depends on the locale in use :

zfs list tank/home/murankar
NAME                 USED  AVAIL  REFER  MOUNTPOINT
tank/home/murankar  6,65G   286G  6,58G  /home/murankar

setenv LANG en_US.UTF8
zfs list tank/home/murankar
NAME                 USED  AVAIL  REFER  MOUNTPOINT
tank/home/murankar  6.65G   286G  6.58G  /home/murankar

freebsd-snapshot set LC_ALL and LANG to C

> 
> If you have upgraded that machine to 9-CURRENT and have 
> sysutils/zfsnap installed I would recommend deleting any snapshots 
> that you have before it runs the snapshot scripts. This assumes that the 
> snapshot script might have changed since you upgraded it and that the 
> snapshot names are different. Better to be on the sane side.
> 
> See UPDATING/20100929 for reference.

I've deleted all old snapshots before running the snapshot script, but
to not avail.

> 
> # Correct syntax:
> zfs list pool/dataset1/dataset2
> 
> # Incorrect syntax: ( I hope you were hand typing that and missed... )
> zfs list /dataset1/dataset2

In fact I was only doing by "hand" what freebsd-snapshot is doing.
See op_make() from /usr/local/sbin/snapshot (near line 285) :

     #   operate on filesystem
+    echo "XXX zfs list $fs_dir"
     if [ ".$zfs_enabled" = .yes ] && (zfs list $fs_dir) >/dev/null 2>&1; then

/usr/local/sbin/snapshot make -g4 /var:test
XXX zfs list /var

> 
> >
> >Is it the normal behaviour for ZFSv28 or some kind of regression ?
> >
> 
> No its not normal, and some sort of regression possible. Though I usually 
> take regression as performance issues as in speed.
> 
> Also,
> 
> pkg-descr
> freebsd-snapshot is a set of convenience front-end tools to mount(8)
> and mdconfig(8) for the management of UFS2 snapshots.  It is
> also the under-lying tool used in the periodic snapshot
> scheduler periodic-snapshot(8) and the mounting/unmouning
> command in the amd(8) map /usr/local/etc/amd.map.snap. It
> provides the making, expiring, visiting, mounting and
> unmounting of filesystem snapshots.
> 
> pkg-descr
> zfSnap is simple sh script to make rolling zfs snapshots with cron. Main
> advantage of zfSnap is that it's written in %100 pure /bin/sh, doesn't
> require any additional software to run, and is simple to use.
> 
> zfSnap keeps all information about snapshot in snapshot name. zfs snapshot
> names are in form: Time-stamp--TTL where time-stamp is date and time of
> snapshot creation and TTL is Time To Live in human readable form.
> 
> 
> Did you happen to mix the above two up ? If so then rinse and repeat.
> 
> 
> Good luck,
> 

Nope, freebsd-snapshot can handle ZFS snapshot and it uses to work fine
with ZFSv{14,15}, see the copyright notice :
FreeBSD UFS/ZFS Snapshot Management Environment, the pkg-descr file
seems outdated.

Thanks for your help.
Received on Mon Mar 14 2011 - 07:37:30 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:12 UTC