Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Apr 2004 01:31:54 +0200
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        Thomas Moestl <t.moestl@tu-bs.de>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern vfs_syscalls.c
Message-ID:  <20040422233154.GY24376@darkness.comp.waw.pl>
In-Reply-To: <20040422231910.GB709@timesink.dyndns.org>
References:  <200404221540.i3MFeSIM038514@repoman.freebsd.org> <20040422231910.GB709@timesink.dyndns.org>

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

--tUxbtEzdJc4sX0sj
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Apr 23, 2004 at 01:19:10AM +0200, Thomas Moestl wrote:
+> On Thu, 2004/04/22 at 08:40:28 -0700, Pawel Jakub Dawidek wrote:
+> > pjd         2004/04/22 08:40:27 PDT
+> >=20
+> >   FreeBSD src repository
+> >=20
+> >   Modified files:
+> >     sys/kern             vfs_syscalls.c=20
+> >   Log:
+> >   Look out! vn_start_write() is able to return 0 and NULL 'mp'.
+>=20
+> Hmmm, I'm not sure, but wasn't the real bug to use the struct mount *
+> that vn_start_write() returns instead of nd.ni_vp->v_mount (or at
+> least, not using nd.ni_vp->v_mount if mp turns out to be NULL)?=20
+> extattrctl() chooses that way.
+> It seems that file systems are not required to implement
+> VOP_GETWRITEMOUNT(), but could choose to implement VFS_QUOTACTL()
+> anyway (although IIRC there currently are none that maintain this
+> combination), so unconditionally returning EOPNOTSUPP would be too
+> strict.
+>=20
+> The only case where the mount point of the vnode and the mount point
+> returned by vn_start_write() should differ is when unionfs is
+> involved; in that case, the correct semantics of quotactl() is a bit
+> doubtful, and so unionfs does not support quotactl() at all; thus
+> using the mount point of the vnode should not break anything.

Yes. Even quotactl(2) in RELENG_4 is using nd.ni_vp->v_mount.
Anyone want to test this patch:

	http://people.freebsd.org/~pjd/patches/vfs_syscalls.c.3.patch

--=20
Pawel Jakub Dawidek                       http://www.FreeBSD.org
pjd@FreeBSD.org                           http://garage.freebsd.pl
FreeBSD committer                         Am I Evil? Yes, I Am!

--tUxbtEzdJc4sX0sj
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQFAiFXqForvXbEpPzQRAu1fAKCwUgEL6OOHcyw1Tbb+BsKnf64TzwCeK4Mz
RnxviWI4wTiqe5Q0b3WE0K4=
=TXEF
-----END PGP SIGNATURE-----

--tUxbtEzdJc4sX0sj--



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