Date: Wed, 18 Mar 2009 16:19:44 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_dir.c Message-ID: <200903181619.n2IGJwjg012649@repoman.freebsd.org>
index | next in thread | raw e-mail
jhb 2009-03-18 16:19:44 UTC
FreeBSD src repository
Modified files:
sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_dir.c
Log:
SVN rev 189967 on 2009-03-18 16:19:44Z by jhb
The zfs_get_xattrdir() function is used to find the extended attribute
directory for a znode. When the directory already exists, it returns a
referenced but unlocked vnode. When a directory does not yet exist, it
calls zfs_make_xattrdir() to create a new one. zfs_make_xattrdir() returns
the vnode both referenced and and locked and zfs_get_xattrdir() was leaking
this vnode lock to its callers. Fix this by dropping the vnode lock if
zfs_make_xattrdir() successfully creates a new extended attribute
directory.
Reviewed by: pjd
Revision Changes Path
1.5 +2 -0 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903181619.n2IGJwjg012649>
