From owner-svn-src-all@freebsd.org Thu Aug 11 22:36:39 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9195BB781D; Thu, 11 Aug 2016 22:36:39 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 9DB151A48; Thu, 11 Aug 2016 22:36:39 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from FreeBSD.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by freefall.freebsd.org (Postfix) with ESMTP id 376F616BA; Thu, 11 Aug 2016 22:36:39 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Date: Thu, 11 Aug 2016 22:36:37 +0000 From: Glen Barber To: Slawa Olhovchenkov Cc: Andriy Gapon , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: Re: svn commit: r303970 - in stable/11/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs contrib/opensolaris/uts/common/fs/zfs/sys Message-ID: <20160811223637.GE51184@FreeBSD.org> References: <201608112048.u7BKm4OH076291@repo.freebsd.org> <20160811223331.GF22212@zxy.spb.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="47eKBCiAZYFK5l32" Content-Disposition: inline In-Reply-To: <20160811223331.GF22212@zxy.spb.ru> X-Operating-System: FreeBSD 11.0-CURRENT amd64 X-SCUD-Definition: Sudden Completely Unexpected Dataloss X-SULE-Definition: Sudden Unexpected Learning Event X-PEKBAC-Definition: Problem Exists, Keyboard Between Admin/Computer User-Agent: Mutt/1.5.24 (2015-08-30) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Aug 2016 22:36:39 -0000 --47eKBCiAZYFK5l32 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Aug 12, 2016 at 01:33:31AM +0300, Slawa Olhovchenkov wrote: > On Thu, Aug 11, 2016 at 08:48:04PM +0000, Andriy Gapon wrote: >=20 > > Author: avg > > Date: Thu Aug 11 20:48:03 2016 > > New Revision: 303970 > > URL: https://svnweb.freebsd.org/changeset/base/303970 > >=20 > > Log: > > MFC r303763,303791,303869: zfs: honour and make use of vfs vnode lock= ing protocol > > =20 > > ZFS POSIX Layer is originally written for Solaris VFS which is very > > different from FreeBSD VFS. Most importantly many things that FreeBS= D VFS > > manages on behalf of all filesystems are implemented in ZPL in a diff= erent > > way. > > Thus, ZPL contains code that is redundant on FreeBSD or duplicates VFS > > functionality or, in the worst cases, badly interacts / interferes > > with VFS. > > =20 > > The most prominent problem is a deadlock caused by the lock order rev= ersal > > of vnode locks that may happen with concurrent zfs_rename() and looku= p(). > > The deadlock is a result of zfs_rename() not observing the vnode lock= ing > > contract expected by VFS. > > =20 > > This commit removes all ZPL internal locking that protects parent-chi= ld > > relationships of filesystem nodes. These relationships are protected > > by vnode locks and the code is changed to take advantage of that fact > > and to properly interact with VFS. > > =20 > > Removal of the internal locking allowed all ZPL dmu_tx_assign calls to > > use TXG_WAIT mode. > > =20 > > Another victim, disputable perhaps, is ZFS support for filesystems wi= th > > mixed case sensitivity. That support is not provided by the OS anywa= y, > > so in ZFS it was a buch of dead code. > > =20 > > To do: > > - replace ZFS_ENTER mechanism with VFS managed / visible mechanism > > - replace zfs_zget with zfs_vget[f] as much as possible > > - get rid of not really useful now zfs_freebsd_* adapters > > - more cleanups of unneeded / unused code > > - fix / replace .zfs support >=20 > MFC to 10.x/9.x planed? >=20 As I understand it, this does not affect stable/10. Glen --47eKBCiAZYFK5l32 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJXrP3wAAoJEAMUWKVHj+KTB9cP/0kYfrzDPUEPPCvH5pjVIvMN ARMEjs9IIKhoYPEnl0ZCtYubzp1BvLM5aO6H6CNWfvc7pEg9PNUn98anhrnvSIlH HTDHhsOQoobjr6Er3yO5vVdjGAozrUKMHEGdHoFLj64z+1j0Q3uZ2z7W650jrm2V qAuS/a8pH2RqatzvfiGqqtOtEc4FsB/mpvNnLZaDZcIM2FQ6oAW6VirD2kfchTMV 7NL1HSTRjz6YqduP9OmgDxa1/I9A9pTy4l7cEigbx+9il/a6YqGfWrg3qZzHOanh TxuOXgrPfeA//jVZG7UqnXQmOSuNgFhkBnLpHz+AZyUK5nZZ8u179fDZvlSl8hjE 10ighgCRxYjjS3PEJ3AEd6L8CaqYe99FaSF1q4dl/E7S1slYflFGe0f+w8fpQNRA KC/3ZIof7B2AhyEauTTIkx4HhgB1GBes6mSuw6o2HsFyaJTr8JQcF5sYEHEASq0o BDJgXmyjoDCCbubqIVOJz/RBPmtPQy4hM8BYXX+hPpe6MiNISiiTpyELZBV2Zppi LbS0Pfu6c49pVmZJ/t3YgXfn8/cB0kwP2R9pNw+Y3dX3u/lq1iZo8qQ8h/hLoZHm 6UitrpUaQF2A8LH5catJ6FoZmb7WSDUn0TSfHL+qnHlZfNgqvBLnr4vHW3Ojzh9g 95+xnrjzbKvFkVMTOzUy =jYV0 -----END PGP SIGNATURE----- --47eKBCiAZYFK5l32--