X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fudf%2Fsuper.c;h=c5191e1d7fcfb85587445863d554f0baedb09725;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=73fc0d8ae8be7db6180bd37dd8398694e63d65b9;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/fs/udf/super.c b/fs/udf/super.c index 73fc0d8ae..c5191e1d7 100644 --- a/fs/udf/super.c +++ b/fs/udf/super.c @@ -140,8 +140,7 @@ static int init_inodecache(void) { udf_inode_cachep = kmem_cache_create("udf_inode_cache", sizeof(struct udf_inode_info), - 0, (SLAB_RECLAIM_ACCOUNT| - SLAB_MEM_SPREAD), + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (udf_inode_cachep == NULL) return -ENOMEM; @@ -661,7 +660,8 @@ udf_find_anchor(struct super_block *sb) * lastblock * however, if the disc isn't closed, it could be 512 */ - for (i = 0; !lastblock && i < ARRAY_SIZE(last); i++) { + for (i=0; (!lastblock && ib_data)->tagLocation); udf_release_data(bh); } - + if (ident == TAG_IDENT_AVDP) { if (location == last[i] - UDF_SB_SESSION(sb)) @@ -753,7 +753,8 @@ udf_find_anchor(struct super_block *sb) } } - for (i = 0; i < ARRAY_SIZE(UDF_SB_ANCHOR(sb)); i++) { + for (i=0; imainVolDescSeqExt.extLength ); main_e = main_e >> sb->s_blocksize_bits; main_e += main_s; - + /* Locate the reserve sequence */ reserve_s = le32_to_cpu(anchor->reserveVolDescSeqExt.extLocation); reserve_e = le32_to_cpu(anchor->reserveVolDescSeqExt.extLength); @@ -1342,10 +1344,12 @@ udf_load_partition(struct super_block *sb, kernel_lb_addr *fileset) } } - if (i == ARRAY_SIZE(UDF_SB_ANCHOR(sb))) { + if (i == sizeof(UDF_SB_ANCHOR(sb))/sizeof(int)) + { udf_debug("No Anchor block found\n"); return 1; - } else + } + else udf_debug("Using anchor in block %d\n", UDF_SB_ANCHOR(sb)[i]); for (i=0; is_fs_info = sbi; memset(UDF_SB(sb), 0x00, sizeof(struct udf_sb_info)); - mutex_init(&sbi->s_alloc_mutex); + init_MUTEX(&sbi->s_alloc_sem); if (!udf_parse_options((char *)options, &uopt)) goto error_out;