From: Evgeniy Dushistov Different types of ufs hold state in different places, to hide complexity of this, there is ufs_get_fs_state, it returns state according to "UFS_SB(sb)->s_flags", but during mount ufs_get_fs_state is called, before setting s_flags, this cause message for ufs types like sun ufs: "fs need fsck", and remount in readonly state. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton --- fs/ufs/super.c | 4 +--- 1 files changed, 1 insertion(+), 3 deletions(-) diff -puN fs/ufs/super.c~ufs-fix-sun-state fs/ufs/super.c --- a/fs/ufs/super.c~ufs-fix-sun-state +++ a/fs/ufs/super.c @@ -934,7 +934,7 @@ magic_found: flags |= UFS_ST_SUN; } - + sbi->s_flags = flags;/*after that line some functions use s_flags*/ ufs_print_super_stuff(sb, usb1, usb2, usb3); /* @@ -1065,8 +1065,6 @@ magic_found: UFS_MOUNT_UFSTYPE_44BSD) uspi->s_maxsymlinklen = fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_maxsymlinklen); - - sbi->s_flags = flags; inode = iget(sb, UFS_ROOTINO); if (!inode || is_bad_inode(inode)) _