Date: Sun, 23 Dec 2012 12:12:48 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r244620 - stable/9/sys/cddl/contrib/opensolaris/uts/common/fs Message-ID: <201212231212.qBNCCmke089907@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: avg Date: Sun Dec 23 12:12:47 2012 New Revision: 244620 URL: http://svnweb.freebsd.org/changeset/base/244620 Log: MFC r243762: gfs_file_inactive: replace bad code with ugly code Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/cddl/contrib/opensolaris/ (props changed) Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c ============================================================================== --- stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Sun Dec 23 12:09:52 2012 (r244619) +++ stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c Sun Dec 23 12:12:47 2012 (r244620) @@ -665,8 +665,10 @@ gfs_file_inactive(vnode_t *vp) ge = NULL; found: +#ifdef TODO if (vp->v_flag & V_XATTRDIR) VI_LOCK(fp->gfs_parent); +#endif VI_LOCK(vp); /* * Really remove this vnode @@ -687,16 +689,17 @@ found: if (fp->gfs_parent) { if (dp) gfs_dir_unlock(dp); - VI_LOCK(fp->gfs_parent); - fp->gfs_parent->v_usecount--; - VI_UNLOCK(fp->gfs_parent); + VOP_UNLOCK(vp, 0); + VN_RELE(fp->gfs_parent); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); } else { ASSERT(vp->v_vfsp != NULL); VFS_RELE(vp->v_vfsp); } +#ifdef TODO if (vp->v_flag & V_XATTRDIR) VI_UNLOCK(fp->gfs_parent); - +#endif return (data); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201212231212.qBNCCmke089907>