diff options
Diffstat (limited to 'fs/xfs/xfs_vfsops.c')
-rw-r--r-- | fs/xfs/xfs_vfsops.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/fs/xfs/xfs_vfsops.c b/fs/xfs/xfs_vfsops.c index 593e6e2b3921..febfd8367e13 100644 --- a/fs/xfs/xfs_vfsops.c +++ b/fs/xfs/xfs_vfsops.c | |||
@@ -307,7 +307,7 @@ xfs_start_flags( | |||
307 | * no recovery flag requires a read-only mount | 307 | * no recovery flag requires a read-only mount |
308 | */ | 308 | */ |
309 | if (ap->flags & XFSMNT_NORECOVERY) { | 309 | if (ap->flags & XFSMNT_NORECOVERY) { |
310 | if (!(vfs->vfs_flag & VFS_RDONLY)) { | 310 | if (!(mp->m_flags & XFS_MOUNT_RDONLY)) { |
311 | cmn_err(CE_WARN, | 311 | cmn_err(CE_WARN, |
312 | "XFS: tried to mount a FS read-write without recovery!"); | 312 | "XFS: tried to mount a FS read-write without recovery!"); |
313 | return XFS_ERROR(EINVAL); | 313 | return XFS_ERROR(EINVAL); |
@@ -326,7 +326,7 @@ xfs_start_flags( | |||
326 | mp->m_flags |= XFS_MOUNT_FILESTREAMS; | 326 | mp->m_flags |= XFS_MOUNT_FILESTREAMS; |
327 | 327 | ||
328 | if (ap->flags & XFSMNT_DMAPI) | 328 | if (ap->flags & XFSMNT_DMAPI) |
329 | vfs->vfs_flag |= VFS_DMI; | 329 | mp->m_flags |= XFS_MOUNT_DMAPI; |
330 | return 0; | 330 | return 0; |
331 | } | 331 | } |
332 | 332 | ||
@@ -340,7 +340,7 @@ xfs_finish_flags( | |||
340 | struct xfs_mount_args *ap, | 340 | struct xfs_mount_args *ap, |
341 | struct xfs_mount *mp) | 341 | struct xfs_mount *mp) |
342 | { | 342 | { |
343 | int ronly = (vfs->vfs_flag & VFS_RDONLY); | 343 | int ronly = (mp->m_flags & XFS_MOUNT_RDONLY); |
344 | 344 | ||
345 | /* Fail a mount where the logbuf is smaller then the log stripe */ | 345 | /* Fail a mount where the logbuf is smaller then the log stripe */ |
346 | if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { | 346 | if (XFS_SB_VERSION_HASLOGV2(&mp->m_sb)) { |
@@ -589,7 +589,7 @@ xfs_unmount( | |||
589 | rvp = XFS_ITOV(rip); | 589 | rvp = XFS_ITOV(rip); |
590 | 590 | ||
591 | #ifdef HAVE_DMAPI | 591 | #ifdef HAVE_DMAPI |
592 | if (vfsp->vfs_flag & VFS_DMI) { | 592 | if (mp->m_flags & XFS_MOUNT_DMAPI) { |
593 | error = XFS_SEND_PREUNMOUNT(mp, vfsp, | 593 | error = XFS_SEND_PREUNMOUNT(mp, vfsp, |
594 | rvp, DM_RIGHT_NULL, rvp, DM_RIGHT_NULL, | 594 | rvp, DM_RIGHT_NULL, rvp, DM_RIGHT_NULL, |
595 | NULL, NULL, 0, 0, | 595 | NULL, NULL, 0, 0, |
@@ -723,22 +723,20 @@ xfs_mntupdate( | |||
723 | int *flags, | 723 | int *flags, |
724 | struct xfs_mount_args *args) | 724 | struct xfs_mount_args *args) |
725 | { | 725 | { |
726 | struct bhv_vfs *vfsp = XFS_MTOVFS(mp); | ||
727 | |||
728 | if (!(*flags & MS_RDONLY)) { /* rw/ro -> rw */ | 726 | if (!(*flags & MS_RDONLY)) { /* rw/ro -> rw */ |
729 | if (vfsp->vfs_flag & VFS_RDONLY) | 727 | if (mp->m_flags & XFS_MOUNT_RDONLY) |
730 | vfsp->vfs_flag &= ~VFS_RDONLY; | 728 | mp->m_flags &= ~XFS_MOUNT_RDONLY; |
731 | if (args->flags & XFSMNT_BARRIER) { | 729 | if (args->flags & XFSMNT_BARRIER) { |
732 | mp->m_flags |= XFS_MOUNT_BARRIER; | 730 | mp->m_flags |= XFS_MOUNT_BARRIER; |
733 | xfs_mountfs_check_barriers(mp); | 731 | xfs_mountfs_check_barriers(mp); |
734 | } else { | 732 | } else { |
735 | mp->m_flags &= ~XFS_MOUNT_BARRIER; | 733 | mp->m_flags &= ~XFS_MOUNT_BARRIER; |
736 | } | 734 | } |
737 | } else if (!(vfsp->vfs_flag & VFS_RDONLY)) { /* rw -> ro */ | 735 | } else if (!(mp->m_flags & XFS_MOUNT_RDONLY)) { /* rw -> ro */ |
738 | xfs_filestream_flush(mp); | 736 | xfs_filestream_flush(mp); |
739 | xfs_sync(mp, SYNC_DATA_QUIESCE); | 737 | xfs_sync(mp, SYNC_DATA_QUIESCE); |
740 | xfs_attr_quiesce(mp); | 738 | xfs_attr_quiesce(mp); |
741 | vfsp->vfs_flag |= VFS_RDONLY; | 739 | mp->m_flags |= XFS_MOUNT_RDONLY; |
742 | } | 740 | } |
743 | return 0; | 741 | return 0; |
744 | } | 742 | } |
@@ -1053,7 +1051,7 @@ xfs_sync_inodes( | |||
1053 | 1051 | ||
1054 | if (bypassed) | 1052 | if (bypassed) |
1055 | *bypassed = 0; | 1053 | *bypassed = 0; |
1056 | if (XFS_MTOVFS(mp)->vfs_flag & VFS_RDONLY) | 1054 | if (mp->m_flags & XFS_MOUNT_RDONLY) |
1057 | return 0; | 1055 | return 0; |
1058 | error = 0; | 1056 | error = 0; |
1059 | last_error = 0; | 1057 | last_error = 0; |
@@ -1766,7 +1764,6 @@ xfs_parseargs( | |||
1766 | struct xfs_mount_args *args, | 1764 | struct xfs_mount_args *args, |
1767 | int update) | 1765 | int update) |
1768 | { | 1766 | { |
1769 | bhv_vfs_t *vfsp = XFS_MTOVFS(mp); | ||
1770 | char *this_char, *value, *eov; | 1767 | char *this_char, *value, *eov; |
1771 | int dsunit, dswidth, vol_dsunit, vol_dswidth; | 1768 | int dsunit, dswidth, vol_dsunit, vol_dswidth; |
1772 | int iosize; | 1769 | int iosize; |
@@ -1859,10 +1856,10 @@ xfs_parseargs( | |||
1859 | args->iosizelog = ffs(iosize) - 1; | 1856 | args->iosizelog = ffs(iosize) - 1; |
1860 | } else if (!strcmp(this_char, MNTOPT_GRPID) || | 1857 | } else if (!strcmp(this_char, MNTOPT_GRPID) || |
1861 | !strcmp(this_char, MNTOPT_BSDGROUPS)) { | 1858 | !strcmp(this_char, MNTOPT_BSDGROUPS)) { |
1862 | vfsp->vfs_flag |= VFS_GRPID; | 1859 | mp->m_flags |= XFS_MOUNT_GRPID; |
1863 | } else if (!strcmp(this_char, MNTOPT_NOGRPID) || | 1860 | } else if (!strcmp(this_char, MNTOPT_NOGRPID) || |
1864 | !strcmp(this_char, MNTOPT_SYSVGROUPS)) { | 1861 | !strcmp(this_char, MNTOPT_SYSVGROUPS)) { |
1865 | vfsp->vfs_flag &= ~VFS_GRPID; | 1862 | mp->m_flags &= ~XFS_MOUNT_GRPID; |
1866 | } else if (!strcmp(this_char, MNTOPT_WSYNC)) { | 1863 | } else if (!strcmp(this_char, MNTOPT_WSYNC)) { |
1867 | args->flags |= XFSMNT_WSYNC; | 1864 | args->flags |= XFSMNT_WSYNC; |
1868 | } else if (!strcmp(this_char, MNTOPT_OSYNCISOSYNC)) { | 1865 | } else if (!strcmp(this_char, MNTOPT_OSYNCISOSYNC)) { |
@@ -1972,7 +1969,7 @@ xfs_parseargs( | |||
1972 | } | 1969 | } |
1973 | 1970 | ||
1974 | if (args->flags & XFSMNT_NORECOVERY) { | 1971 | if (args->flags & XFSMNT_NORECOVERY) { |
1975 | if ((vfsp->vfs_flag & VFS_RDONLY) == 0) { | 1972 | if ((mp->m_flags & XFS_MOUNT_RDONLY) == 0) { |
1976 | cmn_err(CE_WARN, | 1973 | cmn_err(CE_WARN, |
1977 | "XFS: no-recovery mounts must be read-only."); | 1974 | "XFS: no-recovery mounts must be read-only."); |
1978 | return EINVAL; | 1975 | return EINVAL; |
@@ -2025,7 +2022,7 @@ xfs_parseargs( | |||
2025 | 2022 | ||
2026 | done: | 2023 | done: |
2027 | if (args->flags & XFSMNT_32BITINODES) | 2024 | if (args->flags & XFSMNT_32BITINODES) |
2028 | vfsp->vfs_flag |= VFS_32BITINODES; | 2025 | mp->m_flags |= XFS_MOUNT_SMALL_INUMS; |
2029 | if (args->flags2) | 2026 | if (args->flags2) |
2030 | args->flags |= XFSMNT_FLAGS2; | 2027 | args->flags |= XFSMNT_FLAGS2; |
2031 | return 0; | 2028 | return 0; |
@@ -2051,7 +2048,6 @@ xfs_showargs( | |||
2051 | { 0, NULL } | 2048 | { 0, NULL } |
2052 | }; | 2049 | }; |
2053 | struct proc_xfs_info *xfs_infop; | 2050 | struct proc_xfs_info *xfs_infop; |
2054 | struct bhv_vfs *vfsp = XFS_MTOVFS(mp); | ||
2055 | 2051 | ||
2056 | for (xfs_infop = xfs_info; xfs_infop->flag; xfs_infop++) { | 2052 | for (xfs_infop = xfs_info; xfs_infop->flag; xfs_infop++) { |
2057 | if (mp->m_flags & xfs_infop->flag) | 2053 | if (mp->m_flags & xfs_infop->flag) |
@@ -2084,9 +2080,9 @@ xfs_showargs( | |||
2084 | if (!(mp->m_flags & XFS_MOUNT_COMPAT_IOSIZE)) | 2080 | if (!(mp->m_flags & XFS_MOUNT_COMPAT_IOSIZE)) |
2085 | seq_printf(m, "," MNTOPT_LARGEIO); | 2081 | seq_printf(m, "," MNTOPT_LARGEIO); |
2086 | 2082 | ||
2087 | if (!(vfsp->vfs_flag & VFS_32BITINODES)) | 2083 | if (!(mp->m_flags & XFS_MOUNT_SMALL_INUMS)) |
2088 | seq_printf(m, "," MNTOPT_64BITINODE); | 2084 | seq_printf(m, "," MNTOPT_64BITINODE); |
2089 | if (vfsp->vfs_flag & VFS_GRPID) | 2085 | if (mp->m_flags & XFS_MOUNT_GRPID) |
2090 | seq_printf(m, "," MNTOPT_GRPID); | 2086 | seq_printf(m, "," MNTOPT_GRPID); |
2091 | 2087 | ||
2092 | if (mp->m_qflags & XFS_UQUOTA_ACCT) { | 2088 | if (mp->m_qflags & XFS_UQUOTA_ACCT) { |
@@ -2113,7 +2109,7 @@ xfs_showargs( | |||
2113 | if (!(mp->m_qflags & XFS_ALL_QUOTA_ACCT)) | 2109 | if (!(mp->m_qflags & XFS_ALL_QUOTA_ACCT)) |
2114 | seq_puts(m, "," MNTOPT_NOQUOTA); | 2110 | seq_puts(m, "," MNTOPT_NOQUOTA); |
2115 | 2111 | ||
2116 | if (vfsp->vfs_flag & VFS_DMI) | 2112 | if (mp->m_flags & XFS_MOUNT_DMAPI) |
2117 | seq_puts(m, "," MNTOPT_DMAPI); | 2113 | seq_puts(m, "," MNTOPT_DMAPI); |
2118 | return 0; | 2114 | return 0; |
2119 | } | 2115 | } |