[<prev] [next>] [day] [month] [year] [list]
Message-Id: <E1LgJ4U-00021e-1p@be1.7eggert.dyndns.org>
Date: Sun, 08 Mar 2009 14:29:37 +0100
From: Bodo Eggert <7eggert@....de>
To: YS Kim <historic59@...il.com>, linux-kernel@...r.kernel.org
Subject: Re: Question regarding direntry read error in fat filesystem when a device is removed
YS Kim <historic59@...il.com> wrote:
> I have a question about too many error messages from FAT when
> unexpected device removal occurs.
> I got the following error messages when I unplugged a USB
> drive(formatted as FAT) during direntry reading.
>
> sd 0:0:0:0: rejecting I/O to device being removed
> FAT: Directory bread(block 1478192) failed
> sd 0:0:0:0: rejecting I/O to device being removed
> FAT: Directory bread(block 1478193) failed
> sd 0:0:0:0: rejecting I/O to device being removed
> FAT: Directory bread(block 1478194) failed
> sd 0:0:0:0: rejecting I/O to device being removed
> FAT: Directory bread(block 1478195) failed
> ...
>
> From the code of fat__get_entry in dir.c, I found that it continues to
> read the next device block
> even if the block reading has been failed. Because of this continuous
> read, a lot of error messages
> come up if the device itself is removed during reading fairly many
> files, and it causes the malfunction
> of my embedded system.
[...]
> Thus, if I modify the code to just return error when fat__get_entry
> fails to read blocks, could it be
> cause any side effects? Except the purpose of backup/recovery, is
> there any other reason for
> the continuous block read?
I guess aborting the directory read would work as expected, but what about
suppressing the messages if you're not sure?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists