]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/fat/fat.h
fat: permit to return phy block number by fibmap in fallocated region
[karo-tx-linux.git] / fs / fat / fat.h
index 7c31f4bc74a9d3e2e358baa27688e329b77d9fc5..13b7202bd651535ff7ee66b3d006d97c21f018c3 100644 (file)
@@ -52,7 +52,8 @@ struct fat_mount_options {
                 usefree:1,        /* Use free_clusters for FAT32 */
                 tz_set:1,         /* Filesystem timestamps' offset set */
                 rodir:1,          /* allow ATTR_RO for directory */
-                discard:1;        /* Issue discard requests on deletions */
+                discard:1,        /* Issue discard requests on deletions */
+                dos1xfloppy:1;    /* Assume default BPB for DOS 1.x floppies */
 };
 
 #define FAT_HASH_BITS  8
@@ -118,7 +119,8 @@ struct msdos_inode_info {
        unsigned int cache_valid_id;
 
        /* NOTE: mmu_private is 64bits, so must hold ->i_mutex to access */
-       loff_t mmu_private;     /* physically allocated size */
+       loff_t mmu_private;     /* physically allocated size (initialized) */
+       loff_t i_disksize;      /* physically allocated size (uninitialized) */
 
        int i_start;            /* first cluster or 0 */
        int i_logstart;         /* logical first cluster */
@@ -289,6 +291,9 @@ extern int fat_get_cluster(struct inode *inode, int cluster,
                           int *fclus, int *dclus);
 extern int fat_bmap(struct inode *inode, sector_t sector, sector_t *phys,
                    unsigned long *mapped_blocks, int create);
+extern int fat_bmap2(struct inode *inode, sector_t sector,
+                    unsigned long *mapped_blocks,
+                    struct buffer_head *bh_result, int create, sector_t *bmap);
 
 /* fat/dir.c */
 extern const struct file_operations fat_dir_operations;