Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Jul 2014 17:42:43 +0200
From:      Harald Schmalzbauer <h.schmalzbauer@omnilan.de>
To:        FreeBSD Stable <freebsd-stable@freebsd.org>
Subject:   panic/lock on 9.3-RELEASE with nullfs/nfs/zfs combination
Message-ID:  <53D12973.3010805@omnilan.de>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigF04409624E2E22C51E3A1683
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

 Hello,

I'm running 9.3-amd64 with some zfilesystems and a jail.

One zfilesystem is nullfs_mounted into jail.

Now I can export (nfsv4) that nullfs_mounted filesystem and rw-opening a
file inside the jail from the nullfs_mounted fs works, until a client
walks into nfs_mounted filesystem (just listing directory contents e.g.).=

So mount shows like this:

tank/my/fs15 mounted on /zfs/netshares/fs15 (zfs, NFS exported, local,
noatime, noexec, nosuid, nfsv4acls)
/zfs/netshares/fs15 on /.JAIL/usr/ports (nullfs, local)


When I the try to open a file (rw) inside the jail from the
nullfs_mounted filesystem, 9.3-RELEASE blocks any IO completely on that
filesystem (local or remote),
with debug-kernel I get the following panic on the nfs/jail server:

panic: LK_RETRY set with incompatible flags (0x200400) or an error
occured (11)
cpuid =3D 3
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame
0xffffff82e54bcc70
kdb_backtrace() at kdb_backtrace+0x37/frame 0xffffff82e54bcd30
panic() at panic+0x1cd/frame 0xffffff82e54bce30
_vn_lock() at _vn_lock+0x67/frame 0xffffff82e54bce90
zfs_lookup() at zfs_lookup+0x420/frame 0xffffff82e54bcf20
zfs_freebsd_lookup() at zfs_freebsd_lookup+0xa6/frame 0xffffff82e54bd070
VOP_CACHEDLOOKUP_APV() at VOP_CACHEDLOOKUP_APV+0xd8/frame 0xffffff82e54bd=
0a0
vfs_cache_lookup() at vfs_cache_lookup+0xff/frame 0xffffff82e54bd110
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0xd8/frame 0xffffff82e54bd140
null_lookup() at null_lookup+0x92/frame 0xffffff82e54bd1c0
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0xd8/frame 0xffffff82e54bd1f0
lookup() at lookup+0x389/frame 0xffffff82e54bd290
namei() at namei+0x3df/frame 0xffffff82e54bd340
vn_open_cred() at vn_open_cred+0x1e2/frame 0xffffff82e54bd4b0
vop_stdvptocnp() at vop_stdvptocnp+0x1af/frame 0xffffff82e54bd7e0
null_vptocnp() at null_vptocnp+0xf5/frame 0xffffff82e54bd850
VOP_VPTOCNP_APV() at VOP_VPTOCNP_APV+0xdb/frame 0xffffff82e54bd880
vn_vptocnp_locked() at vn_vptocnp_locked+0x15b/frame 0xffffff82e54bd910
vn_fullpath1() at vn_fullpath1+0x100/frame 0xffffff82e54bd970
kern___getcwd() at kern___getcwd+0xd4/frame 0xffffff82e54bd9d0
amd64_syscall() at amd64_syscall+0x318/frame 0xffffff82e54bdaf0
Xfast_syscall() at Xfast_syscall+0xf7/frame 0xffffff82e54bdaf0
--- syscall (326, FreeBSD ELF64, sys___getcwd), rip =3D 0x8011a191c, rsp =
=3D
0x7fffffffe658, rbp =3D 0x801873400 ---
KDB: enter: panic
[ thread pid 1905 tid 100856 ]
Stopped at kdb_enter+0x3b: movq $0,0x642172(%rip)

Like mentioned, this panic happens only if a nfs(v4) client visits fs15
(the exported and nullfs_mounted fs) and I try to rw-open any file on
the nullfs afterwards!!!

How can I provide useful info with KDB? I don't have a dumpdev available
in that machine=E2=80=A6
http://www.es.freebsd.org/doc/en/books/developers-handbook/kerneldebug-gd=
b.html
seems not applicaple, no /var/crash/?*=E2=80=A6

Thanks for help,

-Harry



--------------enigF04409624E2E22C51E3A1683
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (FreeBSD)

iEYEARECAAYFAlPRKXgACgkQLDqVQ9VXb8ghsQCfRskOwW788OhLnP8yyb7WcAdJ
+E0AoL0nAb8Y2gEZychEPV32xlNyAn4s
=MUMJ
-----END PGP SIGNATURE-----

--------------enigF04409624E2E22C51E3A1683--



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