Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Mar 2013 12:42:23 +0000 (UTC)
From:      Jilles Tjoelker <jilles@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r247619 - head/sys/fs/nullfs
Message-ID:  <201303021242.r22CgNQ6083435@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jilles
Date: Sat Mar  2 12:42:23 2013
New Revision: 247619
URL: http://svnweb.freebsd.org/changeset/base/247619

Log:
  nullfs: Improve f_flags in statfs().
  
  Include some flags of the nullfs mount itself:
  MNT_RDONLY, MNT_NOEXEC, MNT_NOSUID, MNT_UNION, MNT_NOSYMFOLLOW.
  
  This allows userland code calling statfs() or fstatfs() to see these flags.
  In particular, this allows opendir() to detect that a -t nullfs -o union
  mount needs deduplication (otherwise at least . and .. are returned twice)
  and allows rtld to detect a -t nullfs -o noexec mount as noexec.
  
  Turn off the MNT_ROOTFS flag from the underlying filesystem because the
  nullfs mount is definitely not the root filesystem.
  
  Reviewed by:	kib
  MFC after:	1 week

Modified:
  head/sys/fs/nullfs/null_vfsops.c

Modified: head/sys/fs/nullfs/null_vfsops.c
==============================================================================
--- head/sys/fs/nullfs/null_vfsops.c	Sat Mar  2 11:33:21 2013	(r247618)
+++ head/sys/fs/nullfs/null_vfsops.c	Sat Mar  2 12:42:23 2013	(r247619)
@@ -313,7 +313,8 @@ nullfs_statfs(mp, sbp)
 
 	/* now copy across the "interesting" information and fake the rest */
 	sbp->f_type = mstat.f_type;
-	sbp->f_flags = mstat.f_flags;
+	sbp->f_flags = (sbp->f_flags & (MNT_RDONLY | MNT_NOEXEC | MNT_NOSUID |
+	    MNT_UNION | MNT_NOSYMFOLLOW)) | (mstat.f_flags & ~MNT_ROOTFS);
 	sbp->f_bsize = mstat.f_bsize;
 	sbp->f_iosize = mstat.f_iosize;
 	sbp->f_blocks = mstat.f_blocks;



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