Skip site navigation (1)Skip section navigation (2)
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>