diff options
Diffstat (limited to 'fs/umsdos/file.c')
-rw-r--r-- | fs/umsdos/file.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/fs/umsdos/file.c b/fs/umsdos/file.c index 04a3320ec..b7f58a2b9 100644 --- a/fs/umsdos/file.c +++ b/fs/umsdos/file.c @@ -144,3 +144,38 @@ struct inode_operations umsdos_file_inode_operations_no_bmap = { NULL, /* smap */ }; +/* For other with larger and unaligned file system with readpage */ +struct file_operations umsdos_file_operations_readpage = { + NULL, /* lseek - default */ + UMSDOS_file_read, /* read */ + UMSDOS_file_write, /* write */ + NULL, /* readdir - bad */ + NULL, /* poll - default */ + NULL, /* ioctl - default */ + generic_file_mmap, /* mmap */ + NULL, /* no special open is needed */ + NULL, /* release */ + file_fsync /* fsync */ +}; + +struct inode_operations umsdos_file_inode_operations_readpage = { + &umsdos_file_operations_readpage, /* default file operations */ + NULL, /* create */ + NULL, /* lookup */ + NULL, /* link */ + NULL, /* unlink */ + NULL, /* symlink */ + NULL, /* mkdir */ + NULL, /* rmdir */ + NULL, /* mknod */ + NULL, /* rename */ + NULL, /* readlink */ + NULL, /* follow link */ + fat_readpage, /* readpage */ + NULL, /* writepage */ + NULL, /* bmap */ + UMSDOS_truncate, /* truncate */ + NULL, /* permission */ + NULL, /* smap */ +}; + |