[PATCH 2.4] FAT: do not continue in fat_get_block if bmap fails

From: Stefan Seyfried
Date: Tue Feb 02 2010 - 08:01:07 EST


From: Stefan Seyfried <seife@xxxxxxxxxxxx>

There is no use in continuing the write operation after fat_bmap() fails.
(This successfully killed a VFAT FS for me).
The corresponding code in 2.6 does return here as well, AFAICT.

Signed-off-by: Stefan Seyfried <seife@xxxxxxxxxxxx>
---
fs/fat/file.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/fat/file.c b/fs/fat/file.c
index ade1a71..75efe74 100644
--- a/fs/fat/file.c
+++ b/fs/fat/file.c
@@ -72,8 +72,10 @@ int fat_get_block(struct inode *inode, long iblock, struct buffer_head *bh_resul
}
MSDOS_I(inode)->mmu_private += sb->s_blocksize;
phys = fat_bmap(inode, iblock);
- if (!phys)
+ if (!phys) {
BUG();
+ return -EIO;
+ }
bh_result->b_dev = inode->i_dev;
bh_result->b_blocknr = phys;
bh_result->b_state |= (1UL << BH_Mapped);
--
1.6.4.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/