Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Aug 2016 22:36:37 +0000
From:      Glen Barber <gjb@FreeBSD.org>
To:        Slawa Olhovchenkov <slw@zxy.spb.ru>
Cc:        Andriy Gapon <avg@FreeBSD.org>, 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>
In-Reply-To: <20160811223331.GF22212@zxy.spb.ru>
References:  <201608112048.u7BKm4OH076291@repo.freebsd.org> <20160811223331.GF22212@zxy.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160811223637.GE51184>