X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fisofs%2Finode.c;fp=fs%2Fisofs%2Finode.c;h=298f08be22d46ceb2e8a0d11121d9e3de7ecd594;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=e5fbb035ab4eaf7b7feceb5f2f0755e524a3026b;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index e5fbb035a..298f08be2 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c @@ -11,6 +11,7 @@ * 2004 Paul Serice - NFS Export Operations */ +#include #include #include @@ -55,7 +56,7 @@ static void isofs_put_super(struct super_block *sb) } static void isofs_read_inode(struct inode *); -static int isofs_statfs (struct dentry *, struct kstatfs *); +static int isofs_statfs (struct super_block *, struct kstatfs *); static kmem_cache_t *isofs_inode_cachep; @@ -86,8 +87,7 @@ static int init_inodecache(void) { isofs_inode_cachep = kmem_cache_create("isofs_inode_cache", sizeof(struct iso_inode_info), - 0, (SLAB_RECLAIM_ACCOUNT| - SLAB_MEM_SPREAD), + 0, SLAB_RECLAIM_ACCOUNT, init_once, NULL); if (isofs_inode_cachep == NULL) return -ENOMEM; @@ -900,10 +900,8 @@ out_freesbi: return -EINVAL; } -static int isofs_statfs (struct dentry *dentry, struct kstatfs *buf) +static int isofs_statfs (struct super_block *sb, struct kstatfs *buf) { - struct super_block *sb = dentry->d_sb; - buf->f_type = ISOFS_SUPER_MAGIC; buf->f_bsize = sb->s_blocksize; buf->f_blocks = (ISOFS_SB(sb)->s_nzones @@ -1053,7 +1051,7 @@ static sector_t _isofs_bmap(struct address_space *mapping, sector_t block) return generic_block_bmap(mapping,block,isofs_get_block); } -static const struct address_space_operations isofs_aops = { +static struct address_space_operations isofs_aops = { .readpage = isofs_readpage, .sync_page = block_sync_page, .bmap = _isofs_bmap @@ -1238,7 +1236,7 @@ static void isofs_read_inode(struct inode *inode) } inode->i_uid = sbi->s_uid; inode->i_gid = sbi->s_gid; - inode->i_blocks = 0; + inode->i_blocks = inode->i_blksize = 0; ei->i_format_parm[0] = 0; ei->i_format_parm[1] = 0; @@ -1294,6 +1292,7 @@ static void isofs_read_inode(struct inode *inode) isonum_711 (de->ext_attr_length)); /* Set the number of blocks for stat() - should be done before RR */ + inode->i_blksize = PAGE_CACHE_SIZE; /* For stat() only */ inode->i_blocks = (inode->i_size + 511) >> 9; /* @@ -1399,11 +1398,10 @@ struct inode *isofs_iget(struct super_block *sb, return inode; } -static int isofs_get_sb(struct file_system_type *fs_type, - int flags, const char *dev_name, void *data, struct vfsmount *mnt) +static struct super_block *isofs_get_sb(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) { - return get_sb_bdev(fs_type, flags, dev_name, data, isofs_fill_super, - mnt); + return get_sb_bdev(fs_type, flags, dev_name, data, isofs_fill_super); } static struct file_system_type iso9660_fs_type = {