]> err.no Git - linux-2.6/blobdiff - fs/udf/partition.c
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6] / fs / udf / partition.c
index 2dfe4be2eeb2f99dc7cd588c37d3df8d37297699..96dfd207c3d6339f5a07377a217e5f15c01140e2 100644 (file)
@@ -27,8 +27,8 @@
 #include <linux/slab.h>
 #include <linux/buffer_head.h>
 
-inline uint32_t udf_get_pblock(struct super_block *sb, uint32_t block,
-                              uint16_t partition, uint32_t offset)
+uint32_t udf_get_pblock(struct super_block *sb, uint32_t block,
+                       uint16_t partition, uint32_t offset)
 {
        struct udf_sb_info *sbi = UDF_SB(sb);
        struct udf_part_map *map;
@@ -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);