[Bug 200753] write I/O error for inode structure leads to operation failure without any warning or error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=200753

--- Comment #17 from Theodore Tso (tytso@xxxxxxx) ---
I see your problem.   Your dm-io.c is broken:

                        printk(KERN_INFO "WRITE block = %lu
",bio->bi_iter.bi_sector / 8);
                        bno = bio->bi_iter.bi_sector / 8;       
                        if( mdt->error && bno == mdt->errorBlockNumber &&
mdt->mode != 'R') {
                                printk("WRITE ERROR!!\n");
                                printk(KERN_INFO "%s():ERROR ON block =
%lu\n",__func__,(bio->bi_iter.bi_sector / 8) - 1);
                                bio_endio(bio);
                                // bio_io_error(bio);
                                return DM_MAPIO_SUBMITTED;

It wasn't actually return an error to file system!

Once I fixed your dm-io, I confirmed that errors to the journal do in fact
cause a jbd2 error to be logged in dmesg:

[18995.919032] WRITE ERROR!!
[18995.919039] io_map():ERROR ON block = 196609
[18995.919251] Aborting journal on device dm-18-8.
[18995.919278] WRITE block = 196608 
[18998.747065] READ block = 204 
[18998.747258] WRITE block = 0 
[18998.748982] EXT4-fs error (device dm-18): ext4_journal_check_start:61:
Detected aborted journal
[18998.749199] EXT4-fs (dm-18): Remounting filesystem read-only

Given your assertion that write errors to the journal don't cause the kernel to
complain, and I have just demonstrated that errors to the journal *do* cause
the kernel to complain, the reliability of your other observations are
seriously called into question.   Combined with your fundamental
misunderstandings of how file systems work (including how buffered writes work,
and how symlinks work), I'm going to gently suggest that you spend some time
gathering a much deeper understanding of how kernel storage works before you
waste more kernel developers time....

-- 
You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux