Date: Wed, 18 Apr 2007 17:27:50 +0200 From: Pawel Jakub Dawidek <pjd@FreeBSD.org> To: Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> Cc: Johan Hendriks <Johan@double-l.nl>, "Andrey V. Elsukov" <bu7cher@yandex.ru>, freebsd-current@freebsd.org Subject: Re: ls -al .zfs/snapshots dir reboots machine Message-ID: <20070418152750.GD13702@garage.freebsd.pl> In-Reply-To: <626eb4530704170802t7a797961q16aa039251af10ea@mail.gmail.com> References: <57200BF94E69E54880C9BB1AF714BBCBB521@w2003s01.double-l.local> <20070416094918.GC1068@garage.freebsd.pl> <46234D8E.8020501@yandex.ru> <20070416102623.GF1068@garage.freebsd.pl> <626eb4530704161851u74ba452am73bd8891b7b59e7f@mail.gmail.com> <20070417095631.GB4875@garage.freebsd.pl> <626eb4530704170802t7a797961q16aa039251af10ea@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--M38YqGLZlgb6RLPS Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 18, 2007 at 12:02:06AM +0900, Hidetoshi Shimokawa wrote: > On 4/17/07, Pawel Jakub Dawidek <pjd@freebsd.org> wrote: > >On Tue, Apr 17, 2007 at 10:51:37AM +0900, Hidetoshi Shimokawa wrote: > >> I can repoduce this hang. > >> > >> # cd /pool/test/.zfs/snapshot > >> # /bin/ls > >> snap > >> # /bin/ls -F > >> ls: snap: No such file or directory > >> # /bin/ls -F > >> (hangs) > > > >Are you able to break into debugger? I was able to reproduce it once > >(but with panic in crdup()), but I can no longer do it... >=20 > In my case, only 'ls' hangs and other part of the system is normal. >=20 > # ps alxg | grep ls > 0 2129 2118 0 -4 0 6100 1512 zfs D+ p0 0:00.01 /bin/l= s -F >=20 > Once, I got "panic: lockmgr: locking against myself" 10 or 20 min. later > of "ls -F". >=20 > >> It looks like another name cache problem for me. > >> I noticed 'cache_purge(vp)' is commented out in domount() in opensolar= is_vfs.c. > >> Shouldn't we need 'dnlc_purge_vp(vp)' here? > > > >There is dnlc_purge_vfsp() at the begining of zfs_umount(), which should > >be sufficient. >=20 > domount() of opensolaris also has dnlc_purge_vp() to invalidate cached > entry for the mount point. Do you really think it's unnecessary? >=20 > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/= fs/vfs.c#1383 Yes, we don't need it. In Solaris the domount() function is a general purpose function, but in FreeBSD/ZFS it is only used to mount snapshots and .zfs/ entires doesn't create namecache entires, so there is nothing to purge. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --M38YqGLZlgb6RLPS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (FreeBSD) iD8DBQFGJjj2ForvXbEpPzQRAigrAKCT0h44f+JMzAwtMAhSVHaDNB97WgCgg2n+ LqdhEM63tDmO8b4or+rVSXI= =jaLY -----END PGP SIGNATURE----- --M38YqGLZlgb6RLPS--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070418152750.GD13702>