linux/fs
Stephen Tweedie 301216244b [PATCH] Avoid console spam with ext3 aborted journal.
Avoid console spam with ext3 aborted journal.

ext3 usually reports error conditions that it detects in its environment.
But when its journal gets aborted due to such errors, it can sometimes
continue to report that condition forever, spamming the console to such
an extent that the initial first cause of the journal abort can be lost.

When the journal aborts, we put the filesystem into readonly mode.  Most
subsequent filesystem operations will get rejected immediately by checks
for MS_RDONLY either in the filesystem or in the VFS.  But some paths do
not have such checks --- for example, if we continue to write to a file
handle that was opened before the fs went readonly.  (We only check for
the ROFS condition when the file is first opened.)  In these cases, we
can continue to generate log errors similar to

EXT3-fs error (device $DEV) in start_transaction: Journal has aborted

for each subsequent write.

There is really no point in generating these errors after the initial
error has been fully reported.  Specifically, if we're starting a
completely new filesystem operation, and the filesystem is *already*
readonly (ie. the ext3 layer has already detected and handled the
underlying jbd abort), and we see an EROFS error, then there is simply
no point in reporting it again.

Signed-off-by: Stephen Tweedie <sct@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-18 09:10:02 -07:00
..
adfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
affs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
afs [PATCH] Exterminate PAGE_BUG 2005-05-01 08:59:01 -07:00
autofs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
autofs4 [PATCH] autofs4: tree race fix 2005-05-01 08:59:17 -07:00
befs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cifs [PATCH] remove BK documentation 2005-05-05 16:36:42 -07:00
coda Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cramfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debugfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
devpts Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
exportfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ext2 [PATCH] ext2 corruption - regression between 2.6.9 and 2.6.10 2005-04-16 15:25:45 -07:00
ext3 [PATCH] Avoid console spam with ext3 aborted journal. 2005-05-18 09:10:02 -07:00
fat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
freevxfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hfs [PATCH] hfs, hfsplus: don't leak s_fs_info and fix an oops 2005-05-01 08:59:16 -07:00
hfsplus [PATCH] hfs, hfsplus: don't leak s_fs_info and fix an oops 2005-05-01 08:59:16 -07:00
hostfs [PATCH] uml: hostfs failed mount handling 2005-05-05 16:36:37 -07:00
hpfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hppfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hugetlbfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
isofs [PATCH] isofs includes sanitized 2005-04-25 18:32:12 -07:00
jbd [PATCH] jbd dirty buffer leak fix 2005-04-16 15:26:36 -07:00
jffs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
jffs2 [PATCH] make some things static 2005-05-05 16:36:47 -07:00
jfs JFS: Endian errors 2005-05-04 09:11:49 -05:00
lockd Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
minix Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msdos Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ncpfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfs [PATCH] make some things static 2005-05-05 16:36:47 -07:00
nfsd [PATCH] nfsd4: fix struct file leak 2005-04-16 15:26:38 -07:00
nls [PATCH] make some things static 2005-05-05 16:36:47 -07:00
ntfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
openpromfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
partitions [PATCH] revert msdos partitioning fix 2005-05-06 22:09:27 -07:00
proc [PATCH] fix impossible VmallocChunk 2005-05-17 07:59:10 -07:00
qnx4 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ramfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reiserfs [PATCH] reiserfs: use NULL instead of 0 2005-05-05 16:36:48 -07:00
romfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smbfs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
sysv Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udf [PATCH] fs/udf/udftime.c: fix off by one error 2005-05-05 16:36:51 -07:00
ufs Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
umsdos Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vfat Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfs [XFS] Cleanup use of loff_t vs xfs_off_t in the core code. 2005-05-05 13:33:40 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig.binfmt Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
aio.c [PATCH] aio: optimize io_submit_one() 2005-05-01 08:59:16 -07:00
attr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bad_inode.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
binfmt_aout.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf.c [PATCH] fix Linux kernel ELF core dump privilege elevation 2005-05-16 21:07:05 -07:00
binfmt_elf_fdpic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_em86.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_flat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_misc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_script.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_som.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bio.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
block_dev.c [PATCH] remove do_sync parameter from __invalidate_device 2005-05-05 16:36:44 -07:00
buffer.c [PATCH] block_read_full_page() get_block() error handling fix 2005-05-17 07:59:20 -07:00
char_dev.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
compat.c [PATCH] NFS4: Don't use __user with compat_uptr_t 2005-04-27 15:39:03 -07:00
compat_ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dcache.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
dcookies.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
direct-io.c [PATCH] Direct IO async short read fix 2005-04-16 15:25:50 -07:00
dnotify.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dquot.c [PATCH] quota: fix possible oops on quotaoff 2005-04-16 15:25:46 -07:00
eventpoll.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
exec.c [PATCH] comments on locking of task->comm 2005-05-05 16:36:48 -07:00
fcntl.c [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
fifo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
file_table.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
filesystems.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fs-writeback.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
inode.c [PATCH] remove do_sync parameter from __invalidate_device 2005-05-05 16:36:44 -07:00
ioctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
libfs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
mbcache.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
mpage.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
namei.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
namespace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfsctl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
open.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pipe.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_acl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota_v1.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
quota_v2.c [PATCH] quota: possible bug in quota format v2 support 2005-04-16 15:25:47 -07:00
read_write.c [PATCH] undo do_readv_writev() behavior change 2005-04-16 15:25:49 -07:00
readdir.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
select.c [PATCH] make some things static 2005-05-05 16:36:47 -07:00
seq_file.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
stat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
super.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xattr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xattr_acl.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00