Date: Wed, 14 May 2008 21:10:03 GMT From: Craig Rodrigues <rodrigc@crodrigues.org> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/122833: [snapshots] [patch] mountd fails on nmount() after UFS snapshot creation with mount Message-ID: <200805142110.m4ELA37o016887@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/122833; it has been noted by GNATS. From: Craig Rodrigues <rodrigc@crodrigues.org> To: Jaakko Heinonen <jh@saunalahti.fi> Cc: bug-followup@FreeBSD.org, Ga??l Roualland <gael.roualland@dial.oleane.com>, leon.kos@lecad.fs.uni-lj.si, rodrigc@FreeBSD.org, Yar Tikhiy <yar@comp.chem.msu.su> Subject: Re: kern/122833: [snapshots] [patch] mountd fails on nmount() after UFS snapshot creation with mount Date: Wed, 14 May 2008 21:01:44 +0000 On Wed, May 14, 2008 at 06:56:40PM +0000, Craig Rodrigues wrote: > That fix is wrong. The better fix would be to come up > with a function that traverses a vfs_optlist and deletes a string > option from the list. Something like: Actually we have such a function. We need to do to the "snapshot" option what we do to the "export" option in sys/kern/vfs_export.c. Index: ffs_vfsops.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_vfsops.c,v retrieving revision 1.340 diff -u -r1.340 ffs_vfsops.c --- ffs_vfsops.c 26 Mar 2008 20:48:07 -0000 1.340 +++ ffs_vfsops.c 14 May 2008 21:00:23 -0000 @@ -183,8 +183,15 @@ if (vfs_getopt(mp->mnt_optnew, "noclusterw", NULL, NULL) == 0) mntorflags |= MNT_NOCLUSTERW; - if (vfs_getopt(mp->mnt_optnew, "snapshot", NULL, NULL) == 0) + if (vfs_getopt(mp->mnt_optnew, "snapshot", NULL, NULL) == 0) { mntorflags |= MNT_SNAPSHOT; + /* + * Once we have set the MNT_SNAPSHOT flag, do not + * persist "snapshot" in the options list. + */ + vfs_deleteopt(mp->mnt_optnew, "snapshot"); + vfs_deleteopt(mp->mnt_opt, "snapshot"); + } MNT_ILOCK(mp); mp->mnt_flag = (mp->mnt_flag | mntorflags) & ~mntandnotflags; -- Craig Rodrigues rodrigc@crodrigues.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805142110.m4ELA37o016887>