summaryrefslogtreecommitdiffstats
path: root/fs/fat/cvf.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fat/cvf.c')
-rw-r--r--fs/fat/cvf.c77
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};