Date: Thu, 7 Jan 2010 09:37:59 +0000 (UTC) From: Alexander Leidinger <netchild@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/cddl/compat/opensolaris/sys vnode.h src/sys/cddl/contrib/opensolaris/uts/common/fs gfs.c src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs dmu_object.c dmu_send.c dnode.c zfs_ctldir.c zfs_vfsops.c zfs_vnops.c zfs_znode.c zil.c src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys ... Message-ID: <201001070938.o079cGjp038994@repoman.freebsd.org>
index | next in thread | raw e-mail
netchild 2010-01-07 09:37:59 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/cddl/compat/opensolaris/sys vnode.h
sys/cddl/contrib/opensolaris/uts/common/fs gfs.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs dmu_object.c
dmu_send.c
dnode.c
zfs_ctldir.c
zfs_vfsops.c
zfs_vnops.c
zfs_znode.c
zil.c
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys dmu.h
zfs_znode.h
zil.h
sys/cddl/contrib/opensolaris/uts/common/sys vnode.h
Log:
SVN rev 201723 on 2010-01-07 09:37:59Z by netchild
MFC several ZFS related commits:
r197459:
---snip---
Before calling vflush(FORCECLOSE) mark file system as unmounted so the
following vnops will fail. This is very important, because without this change
vnode could be reclaimed at any point, even if we increased usecount. The only
way to ensure that vnode won't be reclaimed was to lock it, which would be very
hard to do in ZFS without changing a lot of code. With this change simply
increasing usecount is enough to be sure vnode won't be reclaimed from under
us. To be precise it can still be reclaimed but we won't be able to see it,
because every try to enter ZFS through VFS will result in EIO.
The only function that cannot return EIO, because it is needed for vflush() is
zfs_root(). Introduce ZFS_ENTER_NOERROR() macro that only locks
z_teardown_lock and never returns EIO.
---snip---
r197512:
---snip---
- Don't depend on value returned by gfs_*_inactive(), it doesn't work
well with forced unmounts when GFS vnodes are referenced.
- Make other preparations to GFS for forced unmounts.
PR: kern/139062
Reported by: trasz
---snip---
r197513:
---snip---
Use traverse() function to find and return mount point's vnode instead of
cov ered vnode when snapshot is already mounted.
---snip---
r197513:
---snip---
Handle cases where virtual (GFS) vnodes are referenced when doing forced
unmount. In that case we cannot depend on the proper order of invalidating
vnodes, so we have to free resources when we have a chance.
PR: kern/139062
Reported by: trasz
---snip---
r197683:
---snip---
Return EOPNOTSUPP instead of EINVAL when doing chflags(2) over an old
format ZFS, as defined in the manual page.
Submitted by: pjd (response of my original patch but bugs are mine)
---snip---
r198703:
---snip---
- zfs_zaccess() can handle VAPPEND too, so map V_APPEND to VAPPEND and call
zfs_access() instead of vaccess() in this case as well.
- If VADMIN is specified with another V* flag (unlikely) call both
zfs_access() and vaccess() after spliting V* flags.
This fixes "dirtying snapshot!" panic.
PR: kern/139806
Reported by: Carl Chave <carl@chave.us>
In co-operation with: jh
---snip---
While I'm here: fix two comments regarding the members of vop_access_args
to comply what is in RELENG_7.
r199156:
---snip---
Avoid passing invalid mountpoint to getnewvnode().
Reported by: rwatson
Tested by: rwatson
---snip---
r200724:
---snip---
Apply fix Solaris bug 6462803 zfs snapshot -r failed because
filesystem was busy. (onnv-gate revision 8989)
Submitted by: mm
Approved by: pjd
---snip---
r200726:
---snip---
Apply fix for Solaris bug 6801979: zfs recv can fail with E2BIG
(onnv revision 8986)
Requested by: mm
Submitted by: pjd
Obtained from: OpenSolaris
---snip---
r200727 (following is the corrected commit log):
---snip---
Apply fix for Solaris bug 6764159: restore_object() makes a call
that can block while having a tx open but not yet committed
(onnv revision 7994)
Submitted by: mm
Obtained from: OpenSolaris
---snip---
Revision Changes Path
1.6.2.4 +2 -0 src/sys/cddl/compat/opensolaris/sys/vnode.h
1.5.2.5 +5 -13 src/sys/cddl/contrib/opensolaris/uts/common/fs/gfs.c
1.2.2.3 +35 -5 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c
1.3.2.4 +24 -29 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
1.3.2.4 +12 -35 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
1.3.2.3 +2 -2 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
1.3.2.6 +4 -0 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h
1.2.2.3 +8 -2 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h
1.8.2.6 +27 -16 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
1.14.2.6 +13 -5 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
1.31.2.9 +26 -10 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
1.15.2.6 +18 -21 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
1.4.2.4 +36 -21 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
1.3.2.4 +0 -1 src/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001070938.o079cGjp038994>
