diff options
author | Sebastian Manciulea <manciuleas@yahoo.com> | 2008-04-14 17:06:36 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2008-04-17 14:29:43 +0200 |
commit | 47c9358a015199ed37c66235a2238271a7c8041f (patch) | |
tree | 265659628f44c00a65a0deaee6edc137aed6cab1 /fs/udf/partition.c | |
parent | bfb257a5981af805a9394f00f75d3d9f7b611cc0 (diff) | |
download | linux-stable-47c9358a015199ed37c66235a2238271a7c8041f.tar.gz linux-stable-47c9358a015199ed37c66235a2238271a7c8041f.tar.bz2 linux-stable-47c9358a015199ed37c66235a2238271a7c8041f.zip |
udf: Fix bug in VAT mapping code
Fix mapping of blocks using VAT when it is stored in an inode.
UDF_I(inode)->i_data already points to the beginning of VAT header so there's
no need to add udf_ext0_offset(inode).
Signed-off-by: Sebastian Manciulea <manciuleas@yahoo.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/udf/partition.c')
-rw-r--r-- | fs/udf/partition.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/udf/partition.c b/fs/udf/partition.c index 2dfe4be2eeb2..63610f026ae1 100644 --- a/fs/udf/partition.c +++ b/fs/udf/partition.c @@ -66,7 +66,8 @@ uint32_t udf_get_pblock_virt15(struct super_block *sb, uint32_t block, } if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) { - loc = le32_to_cpu(((__le32 *)iinfo->i_ext.i_data)[block]); + loc = le32_to_cpu(((__le32 *)(iinfo->i_ext.i_data + + vdata->s_start_offset))[block]); goto translate; } index = (sb->s_blocksize - vdata->s_start_offset) / sizeof(uint32_t); |