
Dear Kyle Moffett,
In message 1324487292-7299-3-git-send-email-Kyle.D.Moffett@boeing.com you wrote:
The FAT filesystem fails silently in inexplicable ways when given a filesystem with a block-size that does not match the device sector size. In theory this is not an unsupportable combination but requires a major rewrite of a lot of the filesystem. Until that occurs, the filesystem should detect that scenario and display a helpful error message.
This scenario in particular occurred on a 512-byte blocksize FAT fs stored in an El-Torito boot volume on a CD-ROM (2048-byte sector size).
Additionally, in many circumstances the ->block_read method will not return a negative number to indicate an error but instead return 0 to indicate the number of blocks successfully read (IE: None).
The FAT filesystem should defensively check to ensure that it got all of the sectors that it asked for when reading.
Signed-off-by: Kyle Moffett Kyle.D.Moffett@boeing.com
--
v2: No change
fs/fat/fat.c | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk