cvs commit: src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
zfs_vnops.c zfs_znode.c
src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys zfs_znode.h
src/sys/fs/msdosfs
denode.h msdosfs_vnops.c src/sys/fs/smbfs smbfs_node.h
smbfs_vnops.c src/sys/fs/tmpfs tmpfs.h tmpfs_vfsops.c ...
Konstantin Belousov
kib at FreeBSD.org
Fri Aug 1 09:47:29 UTC 2008
kib 2008-08-01 09:46:19 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_vnops.c
zfs_znode.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys zfs_znode.h
sys/fs/msdosfs denode.h msdosfs_vnops.c
sys/fs/smbfs smbfs_node.h smbfs_vnops.c
sys/fs/tmpfs tmpfs.h tmpfs_vfsops.c tmpfs_vnops.c
sys/gnu/fs/ext2fs ext2_vnops.c inode.h
sys/gnu/fs/xfs/FreeBSD xfs_vnops.c
sys/kern kern_lockf.c vfs_default.c vfs_subr.c
sys/nfs4client nfs4_vnops.c
sys/nfsclient nfs_lock.c nfs_vnops.c nfsnode.h
sys/sys lockf.h vnode.h
sys/ufs/ufs inode.h ufs_vnops.c
Log:
SVN rev 181119 on 2008-08-01 09:46:19Z by kib
MFC r178243:
Move the head of byte-level advisory lock list from the
filesystem-specific vnode data to the struct vnode. Provide the
default implementation for the vop_advlock and vop_advlockasync.
Purge the locks on the vnode reclaim by using the lf_purgelocks().
The default implementation is augmented for the nfs and smbfs.
In the nfs_advlock, push the Giant inside the nfs_dolock.
Before the change, the vop_advlock and vop_advlockasync have taken the
unlocked vnode and dereferenced the fs-private inode data, racing with
with the vnode reclamation due to forced unmount. Now, the vop_getattr
under the shared vnode lock is used to obtain the inode size, and
later, in the lf_advlockasync, after locking the vnode interlock, the
VI_DOOMED flag is checked to prevent an operation on the doomed vnode.
MFC r178247:
Fix compilation with LOCKF_DEBUG.
As was announced on the stable@, the MFC changes the VFS KBI on RELENG_7.
Approved by: re (kensmith)
Revision Changes Path
1.3.2.2 +0 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
1.31.2.3 +0 -39 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
1.15.2.2 +0 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
1.37.2.1 +0 -1 src/sys/fs/msdosfs/denode.h
1.179.2.3 +0 -35 src/sys/fs/msdosfs/msdosfs_vnops.c
1.7.10.1 +0 -1 src/sys/fs/smbfs/smbfs_node.h
1.65.2.2 +4 -4 src/sys/fs/smbfs/smbfs_vnops.c
1.11.2.2 +0 -3 src/sys/fs/tmpfs/tmpfs.h
1.11.2.4 +0 -1 src/sys/fs/tmpfs/tmpfs_vfsops.c
1.11.2.3 +0 -32 src/sys/fs/tmpfs/tmpfs_vnops.c
1.110.2.1 +0 -20 src/sys/gnu/fs/ext2fs/ext2_vnops.c
1.44.10.1 +0 -1 src/sys/gnu/fs/ext2fs/inode.h
1.6.2.1 +4 -4 src/sys/gnu/fs/xfs/FreeBSD/xfs_vnops.c
1.57.2.3 +97 -2 src/sys/kern/kern_lockf.c
1.138.2.1 +40 -1 src/sys/kern/vfs_default.c
1.707.2.7 +5 -0 src/sys/kern/vfs_subr.c
1.37.2.2 +29 -11 src/sys/nfs4client/nfs4_vnops.c
1.45.2.2 +18 -8 src/sys/nfsclient/nfs_lock.c
1.276.2.3 +23 -19 src/sys/nfsclient/nfs_vnops.c
1.60.2.1 +0 -1 src/sys/nfsclient/nfsnode.h
1.20.2.2 +6 -0 src/sys/sys/lockf.h
1.326.2.3 +3 -0 src/sys/sys/vnode.h
1.51.2.1 +0 -1 src/sys/ufs/ufs/inode.h
1.291.2.3 +0 -41 src/sys/ufs/ufs/ufs_vnops.c
More information about the cvs-src
mailing list