Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

revert "ufs: Fix mount check in ufs_fill_super()"

Evgeniy said:

I wonder on what type of UFS do you test this patch? NetBSD and FreeBSD
do not use "fs_state", they use "fs_clean" flag, only Solaris does check
like this: fs_state + fs_time == FSOK.

That's why parentheses was like that.

At now with linux-2.6.24-rc1-git1, I get: fs need fsck, but NetBSD's fsck
says that's all ok.

I suggest revert this patch.

Cc: Evgeniy Dushistov <dushistov@mail.ru>
Cc: Satyam Sharma <satyam.sharma@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Andrew Morton and committed by
Linus Torvalds
f664f1f9 487e9bf2

+7 -8
+7 -8
fs/ufs/super.c
··· 933 933 goto again; 934 934 } 935 935 936 - /* Set sbi->s_flags here, used by ufs_get_fs_state() below */ 937 - sbi->s_flags = flags; 936 + sbi->s_flags = flags;/*after that line some functions use s_flags*/ 938 937 ufs_print_super_stuff(sb, usb1, usb2, usb3); 939 938 940 939 /* 941 940 * Check, if file system was correctly unmounted. 942 941 * If not, make it read only. 943 942 */ 944 - if ((((flags & UFS_ST_MASK) == UFS_ST_44BSD) || 945 - ((flags & UFS_ST_MASK) == UFS_ST_OLD) || 946 - ((flags & UFS_ST_MASK) == UFS_ST_SUN) || 947 - ((flags & UFS_ST_MASK) == UFS_ST_SUNOS) || 948 - ((flags & UFS_ST_MASK) == UFS_ST_SUNx86)) && 949 - (ufs_get_fs_state(sb, usb1, usb3) == (UFS_FSOK - fs32_to_cpu(sb, usb1->fs_time)))) { 943 + if (((flags & UFS_ST_MASK) == UFS_ST_44BSD) || 944 + ((flags & UFS_ST_MASK) == UFS_ST_OLD) || 945 + (((flags & UFS_ST_MASK) == UFS_ST_SUN || 946 + (flags & UFS_ST_MASK) == UFS_ST_SUNOS || 947 + (flags & UFS_ST_MASK) == UFS_ST_SUNx86) && 948 + (ufs_get_fs_state(sb, usb1, usb3) == (UFS_FSOK - fs32_to_cpu(sb, usb1->fs_time))))) { 950 949 switch(usb1->fs_clean) { 951 950 case UFS_FSCLEAN: 952 951 UFSD("fs is clean\n");