diff options
Diffstat (limited to 'fs/fat/cvf.c')
-rw-r--r-- | fs/fat/cvf.c | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/fs/fat/cvf.c b/fs/fat/cvf.c index 9dd70f8c5..24cf1164f 100644 --- a/fs/fat/cvf.c +++ b/fs/fat/cvf.c @@ -21,6 +21,83 @@ #define MAX_CVF_FORMATS 3 +struct buffer_head *default_fat_bread(struct super_block *,int); +struct buffer_head *default_fat_getblk(struct super_block *, int); +struct buffer_head *bigblock_fat_bread(struct super_block *, int); +void default_fat_brelse(struct super_block *, struct buffer_head *); +void bigblock_fat_brelse(struct super_block *, struct buffer_head *); +void default_fat_mark_buffer_dirty (struct super_block *, + struct buffer_head *, int); +void bigblock_fat_mark_buffer_dirty (struct super_block *, + struct buffer_head *, int); +void default_fat_set_uptodate (struct super_block *, struct buffer_head *,int); +void bigblock_fat_set_uptodate (struct super_block *, struct buffer_head *,int); +int default_fat_is_uptodate(struct super_block *, struct buffer_head *); +int bigblock_fat_is_uptodate(struct super_block *, struct buffer_head *); +int default_fat_access(struct super_block *sb,int nr,int new_value); +void default_fat_ll_rw_block ( + struct super_block *sb, + int opr, + int nbreq, + struct buffer_head *bh[32]); +void bigblock_fat_ll_rw_block ( + struct super_block *sb, + int opr, + int nbreq, + struct buffer_head *bh[32]); +int default_fat_bmap(struct inode *inode,int block); +ssize_t default_fat_file_write( + struct file *filp, + const char *buf, + size_t count, + loff_t *ppos); + +struct cvf_format default_cvf = { + 0, /* version - who cares? */ + "plain", + 0, /* flags - who cares? */ + NULL, + NULL, + NULL, + default_fat_bread, + default_fat_getblk, + default_fat_brelse, + default_fat_mark_buffer_dirty, + default_fat_set_uptodate, + default_fat_is_uptodate, + default_fat_ll_rw_block, + default_fat_access, + NULL, + default_fat_bmap, + generic_file_read, + default_fat_file_write, + NULL, + NULL +}; + +struct cvf_format bigblock_cvf = { + 0, /* version - who cares? */ + "big_blocks", + 0, /* flags - who cares? */ + NULL, + NULL, + NULL, + bigblock_fat_bread, + bigblock_fat_bread, + bigblock_fat_brelse, + bigblock_fat_mark_buffer_dirty, + bigblock_fat_set_uptodate, + bigblock_fat_is_uptodate, + bigblock_fat_ll_rw_block, + default_fat_access, + NULL, + default_fat_bmap, + NULL, + default_fat_file_write, + NULL, + NULL +}; + struct cvf_format *cvf_formats[MAX_CVF_FORMATS]={NULL,NULL,NULL}; int cvf_format_use_count[MAX_CVF_FORMATS]={0,0,0}; |