]> err.no Git - linux-2.6/blobdiff - fs/fat/inode.c
Merge branch 'cfq-merge' of git://brick.kernel.dk/data/git/linux-2.6-block
[linux-2.6] / fs / fat / inode.c
index e78d7b4842cc49f60689094051373a6b4a3969b6..c1ce284f8a944bf033cdc268aaa13670cff82976 100644 (file)
@@ -101,11 +101,11 @@ static int __fat_get_blocks(struct inode *inode, sector_t iblock,
 }
 
 static int fat_get_blocks(struct inode *inode, sector_t iblock,
-                         unsigned long max_blocks,
                          struct buffer_head *bh_result, int create)
 {
        struct super_block *sb = inode->i_sb;
        int err;
+       unsigned long max_blocks = bh_result->b_size >> inode->i_blkbits;
 
        err = __fat_get_blocks(inode, iblock, &max_blocks, bh_result, create);
        if (err)
@@ -518,7 +518,8 @@ static int __init fat_init_inodecache(void)
 {
        fat_inode_cachep = kmem_cache_create("fat_inode_cache",
                                             sizeof(struct msdos_inode_info),
-                                            0, SLAB_RECLAIM_ACCOUNT,
+                                            0, (SLAB_RECLAIM_ACCOUNT|
+                                               SLAB_MEM_SPREAD),
                                             init_once, NULL);
        if (fat_inode_cachep == NULL)
                return -ENOMEM;
@@ -1434,9 +1435,6 @@ out_fail:
 
 EXPORT_SYMBOL_GPL(fat_fill_super);
 
-int __init fat_cache_init(void);
-void fat_cache_destroy(void);
-
 static int __init init_fat_fs(void)
 {
        int err;