Date: Wed, 6 Jan 2010 16:09:58 +0000 (UTC) From: Alexander Leidinger <netchild@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/cddl/compat/opensolaris/kern opensolaris_vfs.c src/sys/cddl/compat/opensolaris/sys vfs.h src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_acl.c zfs_ctldir.c zfs_vfsops.c zfs_vnops.c zfs_znode.c src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys zfs_znode.h Message-ID: <201001061610.o06GAWfS089899@repoman.freebsd.org>
index | next in thread | raw e-mail
netchild 2010-01-06 16:09:58 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/cddl/compat/opensolaris/kern opensolaris_vfs.c
sys/cddl/compat/opensolaris/sys vfs.h
sys/cddl/contrib/opensolaris/uts/common/fs/zfs zfs_acl.c
zfs_ctldir.c
zfs_vfsops.c
zfs_vnops.c
zfs_znode.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys zfs_znode.h
Log:
SVN rev 201651 on 2010-01-06 16:09:58Z by netchild
MFC several ZFS related commits:
r196980:
---snip---
When we automatically mount snapshot we want to return vnode of the mount point
from the lookup and not covered vnode. This is one of the fixes for using .zfs/
over NFS.
---snip---
r196982:
---snip---
We don't export individual snapshots, so mnt_export field in snapshot's
mount point is NULL. That's why when we try to access snapshots over NFS
use mnt_export field from the parent file system.
---snip---
r197131:
---snip---
Tighten up the check for race in zfs_zget() - ZTOV(zp) can not only contain
NULL, but also can point to dead vnode, take that into account.
PR: kern/132068
Reported by: Edward Fisk" <7ogcg7g02@sneakemail.com>, kris
Fix based on patch from: Jaakko Heinonen <jh@saunalahti.fi>
---snip---
r197133:
---snip---
- Protect reclaim with z_teardown_inactive_lock.
- Be prepared for dbuf to disappear in zfs_reclaim_complete() and check if
z_dbuf field is NULL - this might happen in case of rollback or forced
unmount between zfs_freebsd_reclaim() and zfs_reclaim_complete().
- On forced unmount wait for all znodes to be destroyed - destruction can be
done asynchronously via zfs_reclaim_complete().
---snip---
r197153:
---snip---
When zfs.ko is compiled with debug, make sure that znode and vnode point at
each other.
---snip---
r197167:
---snip---
Work-around READDIRPLUS problem with .zfs/ and .zfs/snapshot/ directories
by just returning EOPNOTSUPP. This will allow NFS server to fall back to
regular READDIR.
Note that converting inode number to snapshot's vnode is expensive operation.
Snapshots are stored in AVL tree, but based on their names, not inode numbers,
so to convert inode to snapshot vnode we have to interate over all snalshots.
This is not a problem in OpenSolaris, because in their READDIRPLUS
implementation they use VOP_LOOKUP() on d_name, instead of VFS_VGET() on
d_fileno as we do.
PR: kern/125149
Reported by: Weldon Godfrey <wgodfrey@ena.com>
Analysis by: Jaakko Heinonen <jh@saunalahti.fi>
---snip---
r197177:
---snip---
Support both case: when snapshot is already mounted and when it is not yet
mounted.
---snip---
r197201:
---snip---
- Mount ZFS snapshots with MNT_IGNORE flag, so they are not visible in regular
df(1) and mount(8) output. This is a bit smilar to OpenSolaris and follows
ZFS route of not listing snapshots by default with 'zfs list' command.
- Add UPDATING entry to note that ZFS snapshots are no longer visible in
mount(8) and df(1) output by default.
Reviewed by: kib
---snip---
Note: the MNT_IGNORE part is commented out in this commit and the UPDATING
entry is not merged, as this would be a POLA violation on a stable branch.
This revision is included here, as it also makes locking changes and makes
sure that a snapshot is mounted RO.
r197426:
---snip---
Restore BSD behaviour - when creating new directory entry use parent directory
gid to set group ownership and not process gid.
This was overlooked during v6 -> v13 switch.
PR: kern/139076
Reported by: Sean Winn <sean@gothic.net.au>
---snip---
r197458:
---snip---
Close race in zfs_zget(). We have to increase usecount first and then
check for VI_DOOMED flag. Before this change vnode could be reclaimed
between checking for the flag and increasing usecount.
---snip---
Revision Changes Path
1.10.2.5 +35 -34 src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c
1.3.2.3 +2 -2 src/sys/cddl/compat/opensolaris/sys/vfs.h
1.3.2.5 +19 -0 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
1.3.2.3 +1 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c
1.8.2.5 +12 -12 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
1.14.2.5 +54 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
1.31.2.8 +18 -6 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
1.15.2.5 +22 -4 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001061610.o06GAWfS089899>
