Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Oct 2015 12:49:49 +0100
From:      Niklaas Baudet von Gersdorff <niklaas@kulturflatrate.net>
To:        Matthew Seaman <matthew@FreeBSD.org>, freebsd-questions@freebsd.org
Subject:   Re: cd /.zfs/snapshot hangs (tmux put to uninterruptible sleep)
Message-ID:  <562CC1DD.9060207@kulturflatrate.net>
In-Reply-To: <562CB8CF.7010504@FreeBSD.org>
References:  <562CB2C2.6090402@kulturflatrate.net> <562CB8CF.7010504@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 25/10/15 12:11, Matthew Seaman wrote:
> On 25/10/2015 10:45, Niklaas Baudet von Gersdorff wrote:
>> Why am I not able to see the output of `cd /.zfs/snapshot`? Did I
>> reach the limit of possible snapshots?
> 
> I don't think it's the number of snapshots that's causing the
> problem, but that you've tried to create a snapshot that breaks a
> limit on the path length of a mount point.  See for instance:
> 
> https://lists.freebsd.org/pipermail/freebsd-fs/2010-March/007964.html
>
>  Even though that report is five years old, the same limits still
> apply today.

Thanks for the link. Yeah, that might be.

Do I understand correctly (from the link above) that the maximal
length of a name is 88? See:

> /* * filesystem statistics */ [...] #define MNAMELEN        88
> /* size of on/from name bufs */ [...] struct statfs { [...] char
> f_mntfromname[MNAMELEN];/* mounted filesystem */ char
> f_mntonname[MNAMELEN];	/* directory on which mounted */ };

Isn't this a bug? Shouldn't the request just fail instead of putting
the process into D?

> When you run into the limit, it is not that the snapshot automount 
> simply fails: it leaves the system in a less than ideal state, and
> you have to force unmount the path where the the snapshot would
> have been mounted.
> 
> umount -f /.zfs/snapshot/some-directory

Unfortunately, `mount` doesn't reveal any mounts in /.zfs .

> Unfortunately when a process gets into state 'D' there doesn't seem
> to be anything that can be done, short of rebooting the machine, to
> get rid of it.  If anyone knows any different I'd be glad to hear
> of it.

Uff.

Because I do snapshotting regularly with a script in cron I've got now
several processes in D. Even zfskern. Probably I should restart the
machine...

> $ sudo ps ax | grep zfs 3  -  DL       24:03.30 [zfskern] 84869  -
> D         0:00.00 ls /.zfs/snapshot/ 84873  -  D         0:00.00 ls
> /.zfs/snapshot/ 85382  -  D         0:00.00 ls /.zfs/snapshot/ 
> 86137  -  D         0:00.00 ls /.zfs/snapshot/ 86708  -  D
> 0:00.00 ls /.zfs/snapshot/ 87391  -  D         0:00.00 ls
> /.zfs/snapshot/ 87396  -  D         0:00.00 ls /.zfs/snapshot/ 
> 89474  -  D         0:00.00 ls /.zfs/snapshot/ 84979 17- D+
> 0:00.00 ls -ls /.zfs/snapshot 90618 24  S+        0:00.00 grep zfs

- -- 
Niklaas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJWLMHTAAoJEG2fODeJrIU/ZdYP/1rA7Ot7b5PbuYfuD92Nylkv
WPebYkgNwd7l/mBQ4ERHTczYslp3LNFF/0PLD3akjgN98Qi4AzTeYam0P5OOL0Km
mkvIS3pIhsdBjtGCQEoZrBefqQzscRsaKBjPCNVzy1Z/mH6+SFADNOBrv/B6JTlY
ux3T8cJVdHroGmnUoIKkFHxfuxJLbex0JCmZEOTWqq+bw8Yv7wSSD+zj1ZN4k3Gh
TFTFUaxUV+edaP8ZZbgmOspty7HMn4+w0F601c8kDrusHK1fTmByC3ymXM/S7WiV
azcz+LdHCjeeaAwNSKgNntJicd8IxHEuw4TS9+HbqNHCsK8WABndrJ5tYa7hhNtG
1nkW4XQXBsFg9C7POOkSWjUOQ8hEOmPMyKFcs8FD4YlC9D2Vd9FPnsEHoXdWfUzb
nUHmGVKFyZDvuTkA0CYTAzaOfxUXa1XIeQ/S3/dvGahJOOBMzJiu02CRPxSPEJ0t
AcEgDoPcWSFfGrqUlq5M/qIzKi5r1HMBHk7E/6B3L7iAuOyHy0+tD6PbuEYPMU+k
ibT0T04hub8TuuNqlGXAx+/uCP0CPLASj6MES5FLLBiBu+tGIcmCXJx/vULCWO07
mZM2VGNVNm4TZfrZO+5ioTnNkNyNe0UY2FLC0qmXeGgEFxdo9urJmZVSrDJ8bea3
Q1XcKc6bRLBxAVAjTRgm
=eXiM
-----END PGP SIGNATURE-----



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