lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <79a3cd740903032200g5c0af4cbr12e03355c9c614b0@mail.gmail.com>
Date:	Wed, 4 Mar 2009 15:00:45 +0900
From:	YS Kim <historic59@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: Question regarding direntry read error in fat filesystem when a 
	device is removed

Hi,

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.

I think this code is to make the filesystem available to read the next
block when a storage contains
bad blocks, so that a user can backup remainings in case that some
portion of a storage are dead.

However, if the storage is a NAND flash memory, the flash driver is
supposed to perform bad block
management (because of the NAND charateristics) before the filesystem
encounters the bad block.

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?
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ