ZFS snapshot Folder Disappearing

Guido Falsi mad at madpilot.net
Tue Aug 28 06:20:48 UTC 2012


On 08/28/12 08:03, Matthew Seaman wrote:
> On 28/08/2012 00:33, Tim Gustafson wrote:
>>> Did you try "zfs set snapdir=visible <pool/dataset>" ?
>>
>> I did not, but I never set them to be invisible either, and also when I did:
>>
>> ls -al /tank/export/projects/www/.zfs
>>
>> I saw a "snapshot" folder listed there; it was only when I tried:
>>
>> ls -al /tank/export/projects/www/.zfs/snapshot
>>
>> that I got the "Not a directory" message.
>
> I got bitten by this.  It seemed to be triggered by cvsup'ing the Ports
> CVS repo -- ever since the switch to SVN it hasn't bothered me at all.
>
> Anyhow, to the point: I first noticed this on a zpool which was built
> under 8.1 originally, and had since tracked 8-STABLE and then 9-STABLE.
>   I tried a bunch of things to see if I could make the problem go away,
> including the nuclear option: splitting the mirror, wiping one of the
> drives, building a whole new zpool on it, using send..recv to move the
> data over, reboot onto the new zpool, wipe original disk then add it to
> the new zpool as the other half of a mirror.
>
> Didn't work.  Whatever the problem is, I believe it is still present in
> the latest ZFS code.  (Can't say for sure because like I said, I'm
> simply not running the sort of IO patterns that would trigger the
> problem any more.)
>
> There's a PR for this somewhere (not created by me), but I can't find it
> in my records right now.
>

http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/156781

I got hit by this a few times too. Ti me it looks like it's easier to 
get this problem on more low spec machines(low spec regarding ZFS, so 
anything under 3-4 GiB ram is on the low side, for example).

Using nullfs across snapshots did trigger this easily. I did that to 
have a nullfs mounted snapshot of the whole filesystem structure. I'm 
using read only zfs clones for that now.

-- 
Guido Falsi <mad at madpilot.net>


More information about the freebsd-fs mailing list