Date: Wed, 6 Jan 2010 13:56:49 +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/contrib/opensolaris/uts/common/fs/zfs dmu_send.c dnode.c dnode_sync.c dsl_dataset.c vdev_geom.c zfs_ctldir.c zfs_ioctl.c zfs_vfsops.c zfs_vnops.c zvol.c src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys dnode.h Message-ID: <201001061357.o06DvDD6077077@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
netchild 2010-01-06 13:56:49 UTC FreeBSD src repository Modified files: (Branch: RELENG_7) sys/cddl/compat/opensolaris/kern opensolaris_vfs.c sys/cddl/contrib/opensolaris/uts/common/fs/zfs dmu_send.c dnode.c dnode_sync.c dsl_dataset.c vdev_geom.c zfs_ctldir.c zfs_ioctl.c zfs_vfsops.c zfs_vnops.c zvol.c sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys dnode.h Log: SVN rev 201646 on 2010-01-06 13:56:49Z by netchild MFC several ZFS related commits: r196662: ---snip--- Add missing mountpoint vnode locking. This fixes panic on assertion with DEBUG_VFS_LOCKS and vfs.usermount=1 when regular user tries to mount dataset owned by him. ---snip--- r196703: ---snip--- Backport the 'dirtying dbuf' panic fix from newer ZFS version. Reported by: Thomas Backman <serenity@exscape.org> ---snip--- r196919: ---snip--- bzero() on-stack argument, so mutex_init() won't misinterpret that the lock is already initialized if we have some garbage on the stack. PR: kern/135480 Reported by: Emil Mikulic <emikulic@gmail.com> ---snip--- r196927: ---snip--- Changing provider size is not really supported by GEOM, but doing so when provider is closed should be ok. When administrator requests to change ZVOL size do it immediately if ZVOL is closed or do it on last ZVOL close. PR: kern/136942 Requested by: Bernard Buri <bsd@ask-us.at> ---snip--- r196943: ---snip--- - Avoid holding mutex around M_WAITOK allocations. - Add locking for mnt_opt field. ---snip--- r196944: ---snip--- Don't recheck ownership on update mount. This will eliminate LOR between vfs_busy() and mount mutex. We check ownership in vfs_domount() anyway. Noticed by: kib Reviewed by: kib ---snip--- r196954: ---snip--- If we have to use avl_find(), optimize a bit and use avl_insert() instead of avl_add() (the latter is actually a wrapper around avl_find() + avl_insert()). Fix similar case in the code that is currently commented out. ---snip--- Note: This also seems to fix a previous merge hickup. r196965: ---snip--- Fix reference count leak for a case where snapshot's mount point is updated. Such situation is not supported. This problem was triggered by something like this: # zpool create tank da0 # zfs snapshot tank@snap # cd /tank/.zfs/snapshot/snap (this will mount the snapshot) # cd # mount -u nosuid /tank/.zfs/snapshot/snap (refcount leak) # zpool export tank cannot export 'tank': pool is busy ---snip--- r196985: ---snip--- Only log successful commands! Without this fix we log even unsuccessful commands executed by unprivileged users. Action is not really taken, but it is logged to pool history, which might be confusing. Reported by: Denis Ahrens <denis@h3q.com> ---snip--- r197151: ---snip--- Be sure not to overflow struct fid. ---snip--- r197152: ---snip--- Extend scope of the z_teardown_lock lock for consistency and "just in case". ---snip--- r200124: ---snip--- Avoid using additional variable for storing an error if we are not going to do anything with it. ---snip--- r200158: ---snip--- We have to eventually look for provider without checking guid as this is need for attaching when there is no metadata yet. Before r200125 the order of looking for providers was wrong. It was: 1. Find provider by name. 2. Find provider by guid. 3. Find provider by name and guid. Where it should have been: 1. Find provider by name and guid. 2. Find provider by guid. 3. Find provider by name. ---snip--- Note: This was already there, but it was not recorded as merged. This commit fixes a mis-merge (reversed logic). Revision Changes Path 1.10.2.4 +26 -6 src/sys/cddl/compat/opensolaris/kern/opensolaris_vfs.c 1.3.2.3 +4 -3 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c 1.3.2.3 +8 -8 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c 1.3.2.3 +26 -10 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c 1.4.2.3 +1 -0 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c 1.2.2.3 +2 -1 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h 1.6.2.4 +4 -5 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c 1.8.2.4 +17 -4 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c 1.7.2.5 +4 -2 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c 1.14.2.4 +24 -5 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c 1.31.2.7 +3 -2 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c 1.5.2.4 +16 -5 src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001061357.o06DvDD6077077>