diff options
author | Christoph Hellwig <hch@infradead.org> | 2007-08-30 17:21:12 +1000 |
---|---|---|
committer | Tim Shimmin <tes@chook.melbourne.sgi.com> | 2007-10-16 11:45:57 +1000 |
commit | bd186aa901c183d6e25257711b6c64b42a90dde0 (patch) | |
tree | a84157145a249923a79276d7bc9170701b100c43 /fs/xfs/linux-2.6/xfs_super.c | |
parent | 0ce4cfd4f7dde5891d5b3e3c1a28ff7a7b4d36b3 (diff) | |
download | lwn-bd186aa901c183d6e25257711b6c64b42a90dde0.tar.gz lwn-bd186aa901c183d6e25257711b6c64b42a90dde0.zip |
[XFS] kill the vfs_flags member in struct bhv_vfs
All flags are added to xfs_mount's m_flag instead. Note that the 32bit
inode flag was duplicated in both of them, but only cleared in the mount
when it was not nessecary due to the filesystem beeing small enough. Two
flags are still required here - one to indicate the mount option setting,
and one to indicate if it applies or not.
SGI-PV: 969608
SGI-Modid: xfs-linux-melb:xfs-kern:29507a
Signed-off-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_super.c')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_super.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c index 24bc0afb003c..e275b7a82bc1 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c @@ -534,7 +534,7 @@ vfs_sync_worker( { int error; - if (!(vfsp->vfs_flag & VFS_RDONLY)) + if (!(XFS_VFSTOM(vfsp)->m_flags & XFS_MOUNT_RDONLY)) error = xfs_sync(XFS_VFSTOM(vfsp), SYNC_FSDATA | SYNC_BDFLUSH | \ SYNC_ATTR | SYNC_REFCACHE | SYNC_SUPER); vfsp->vfs_sync_seq++; @@ -793,6 +793,9 @@ xfs_fs_fill_super( mp->m_vfsp = vfsp; vfsp->vfs_mount = mp; + if (sb->s_flags & MS_RDONLY) + mp->m_flags |= XFS_MOUNT_RDONLY; + error = xfs_parseargs(mp, (char *)data, args, 0); if (error) goto fail_vfsop; |