mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
Push lock_super() into the ->remount_fs() of filesystems that care about it
Note that since we can't run into contention between remount_fs and write_super (due to exclusion on s_umount), we have to care only about filesystems that touch lock_super() on their own. Out of those ext3, ext4, hpfs, sysv and ufs do need it; fat doesn't since its ->remount_fs() only accesses assign-once data (basically, it's "we have no atime on directories and only have atime on files for vfat; force nodiratime and possibly noatime into *flags"). [folded a build fix from hch] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
6cfd014842
commit
bbd6851a32
6 changed files with 21 additions and 3 deletions
|
@ -61,10 +61,12 @@ clean:
|
|||
static int sysv_remount(struct super_block *sb, int *flags, char *data)
|
||||
{
|
||||
struct sysv_sb_info *sbi = SYSV_SB(sb);
|
||||
lock_super(sb);
|
||||
if (sbi->s_forced_ro)
|
||||
*flags |= MS_RDONLY;
|
||||
if (!(*flags & MS_RDONLY))
|
||||
sb->s_dirt = 1;
|
||||
unlock_super(sb);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue