Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Nov 2013 18:43:25 -0000
From:      "Steven Hartland" <killing@multiplay.co.uk>
To:        "Matt Magoffin" <matt@msqr.us>, <freebsd-fs@freebsd.org>
Subject:   Re: ZFS snapshot renames failing after upgrade to 9.2
Message-ID:  <54D3B3C002184A52BEC9B1543854B87F@multiplay.co.uk>
References:  <0C9FD4E1-0549-4849-BFC5-D8C5D4A34D64@msqr.us>

next in thread | previous in thread | raw e-mail | index | archive | help
Sounds like you may have an automatic hold still present.

What does the following report:
zfs holds -r <snapshot>

    Regards
    Steve
----- Original Message ----- 
From: "Matt Magoffin" <matt@msqr.us>
To: <freebsd-fs@freebsd.org>
Sent: Thursday, November 14, 2013 6:35 PM
Subject: ZFS snapshot renames failing after upgrade to 9.2


Hello,

I have a system that had been running FreeBSD 9.1 for some time, and I recently upgraded to 9.2. I've been using this simple 
script to create daily, rotating ZFS snapshots via cron:

http://andyleonard.com/2010/04/07/automatic-zfs-snapshot-rotation-on-freebsd/

Essentially the snapshots are renamed and then a new snapshot is created with the same name as the most recently created snapshot. 
Since the upgrade to 9.2, however, the snapshots aren't able to be renamed. I end up with an error like this:

cannot rename 'zdata/home': a child dataset already has a snapshot with the new name
cannot create snapshot 'zdata/home@daily.0': dataset already exists

Once that happens, zfs will show two snapshots:

# zfs list -t snapshot -o name,creation,used,referenced |grep zdata/home
zdata/home@daily.1                                Wed Nov 13  0:00 2013  50.5K  91.0G
zdata/home@daily.0                                Thu Nov 14  0:00 2013      0  91.0G

However, trying to list the snapshots results in this error:

# ls .zfs/snapshot/
ls: daily.1: Device busy
daily.0

I can destroy the daily.1 snapshot:

# zfs destroy zdata/home@daily.1
# zfs list -t snapshot -o name,creation,used,referenced |grep zdata/home
zdata/home@daily.0                                Thu Nov 14  0:00 2013      0  91.0G
# ls .zfs/snapshot/
daily.0

Then if I try to rename it like the script would, I end up in the same "Device busy" state:

# zfs rename zdata/home@daily.0 zdata/home@daily.1
# zfs list -t snapshot -o name,creation,used,referenced |grep zdata/home
zdata/home@daily.1                                Thu Nov 14  0:00 2013      0  91.0G
# ls .zfs/snapshot/
ls: daily.1: Device busy

Does anyone have any ideas how to get the renames working?

-- m@



================================================
This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it. 

In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337
or return the E.mail to postmaster@multiplay.co.uk.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54D3B3C002184A52BEC9B1543854B87F>