diff options
| author | Nathan Scott <nathans@sgi.com> | 2005-09-02 02:42:26 -0400 | 
|---|---|---|
| committer | Nathan Scott <nathans@sgi.com> | 2005-09-02 02:42:26 -0400 | 
| commit | e69a333b5e0c8c6b687b07665a3cb5545657d2aa (patch) | |
| tree | fbdf8b56d23ce011ef3a8bb1481ca9a24e1cedb3 /fs/xfs/xfs_vfsops.c | |
| parent | 7e9c63961558092d584936a874cf3fee80002eb6 (diff) | |
[XFS] Add in grpid/nogrpid mount option parsing, actual code was always
there..
SGI-PV: 939444
SGI-Modid: xfs-linux:xfs-kern:23162a
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_vfsops.c')
| -rw-r--r-- | fs/xfs/xfs_vfsops.c | 16 | 
1 files changed, 15 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index b8ce6cad2b71..d4b9545c2b5c 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c  | |||
| @@ -1621,6 +1621,10 @@ xfs_vget( | |||
| 1621 | #define MNTOPT_SWIDTH "swidth" /* data volume stripe width */ | 1621 | #define MNTOPT_SWIDTH "swidth" /* data volume stripe width */ | 
| 1622 | #define MNTOPT_NOUUID "nouuid" /* ignore filesystem UUID */ | 1622 | #define MNTOPT_NOUUID "nouuid" /* ignore filesystem UUID */ | 
| 1623 | #define MNTOPT_MTPT "mtpt" /* filesystem mount point */ | 1623 | #define MNTOPT_MTPT "mtpt" /* filesystem mount point */ | 
| 1624 | #define MNTOPT_GRPID "grpid" /* group-ID from parent directory */ | ||
| 1625 | #define MNTOPT_NOGRPID "nogrpid" /* group-ID from current process */ | ||
| 1626 | #define MNTOPT_BSDGROUPS "bsdgroups" /* group-ID from parent directory */ | ||
| 1627 | #define MNTOPT_SYSVGROUPS "sysvgroups" /* group-ID from current process */ | ||
| 1624 | #define MNTOPT_ALLOCSIZE "allocsize" /* preferred allocation size */ | 1628 | #define MNTOPT_ALLOCSIZE "allocsize" /* preferred allocation size */ | 
| 1625 | #define MNTOPT_IHASHSIZE "ihashsize" /* size of inode hash table */ | 1629 | #define MNTOPT_IHASHSIZE "ihashsize" /* size of inode hash table */ | 
| 1626 | #define MNTOPT_NORECOVERY "norecovery" /* don't run XFS recovery */ | 1630 | #define MNTOPT_NORECOVERY "norecovery" /* don't run XFS recovery */ | 
| @@ -1741,6 +1745,12 @@ xfs_parseargs( | |||
| 1741 | } | 1745 | } | 
| 1742 | args->flags |= XFSMNT_IHASHSIZE; | 1746 | args->flags |= XFSMNT_IHASHSIZE; | 
| 1743 | args->ihashsize = simple_strtoul(value, &eov, 10); | 1747 | args->ihashsize = simple_strtoul(value, &eov, 10); | 
| 1748 | } else if (!strcmp(this_char, MNTOPT_GRPID) || | ||
| 1749 | !strcmp(this_char, MNTOPT_BSDGROUPS)) { | ||
| 1750 | vfsp->vfs_flag |= VFS_GRPID; | ||
| 1751 | } else if (!strcmp(this_char, MNTOPT_NOGRPID) || | ||
| 1752 | !strcmp(this_char, MNTOPT_SYSVGROUPS)) { | ||
| 1753 | vfsp->vfs_flag &= ~VFS_GRPID; | ||
| 1744 | } else if (!strcmp(this_char, MNTOPT_WSYNC)) { | 1754 | } else if (!strcmp(this_char, MNTOPT_WSYNC)) { | 
| 1745 | args->flags |= XFSMNT_WSYNC; | 1755 | args->flags |= XFSMNT_WSYNC; | 
| 1746 | } else if (!strcmp(this_char, MNTOPT_OSYNCISOSYNC)) { | 1756 | } else if (!strcmp(this_char, MNTOPT_OSYNCISOSYNC)) { | 
| @@ -1862,6 +1872,7 @@ xfs_showargs( | |||
| 1862 | }; | 1872 | }; | 
| 1863 | struct proc_xfs_info *xfs_infop; | 1873 | struct proc_xfs_info *xfs_infop; | 
| 1864 | struct xfs_mount *mp = XFS_BHVTOM(bhv); | 1874 | struct xfs_mount *mp = XFS_BHVTOM(bhv); | 
| 1875 | struct vfs *vfsp = XFS_MTOVFS(mp); | ||
| 1865 | 1876 | ||
| 1866 | for (xfs_infop = xfs_info; xfs_infop->flag; xfs_infop++) { | 1877 | for (xfs_infop = xfs_info; xfs_infop->flag; xfs_infop++) { | 
| 1867 | if (mp->m_flags & xfs_infop->flag) | 1878 | if (mp->m_flags & xfs_infop->flag) | 
| @@ -1898,7 +1909,10 @@ xfs_showargs( | |||
| 1898 | 1909 | ||
| 1899 | if (!(mp->m_flags & XFS_MOUNT_32BITINOOPT)) | 1910 | if (!(mp->m_flags & XFS_MOUNT_32BITINOOPT)) | 
| 1900 | seq_printf(m, "," MNTOPT_64BITINODE); | 1911 | seq_printf(m, "," MNTOPT_64BITINODE); | 
| 1901 | 1912 | ||
| 1913 | if (vfsp->vfs_flag & VFS_GRPID) | ||
| 1914 | seq_printf(m, "," MNTOPT_GRPID); | ||
| 1915 | |||
| 1902 | return 0; | 1916 | return 0; | 
| 1903 | } | 1917 | } | 
| 1904 | 1918 | ||
