fs: fat: extend get_fs_info() for write use
get_fs_info() was introduced in major re-work of read operation by Rob. We want to reuse this function in write operation by extending it with additional members in fsdata structure. Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
14d103bb27
commit
f23101f951
@ -558,10 +558,17 @@ static int get_fs_info(fsdata *mydata)
|
||||
|
||||
if (mydata->fatsize == 32) {
|
||||
mydata->fatlength = bs.fat32_length;
|
||||
mydata->total_sect = bs.total_sect;
|
||||
} else {
|
||||
mydata->fatlength = bs.fat_length;
|
||||
mydata->total_sect = (bs.sectors[1] << 8) + bs.sectors[0];
|
||||
if (!mydata->total_sect)
|
||||
mydata->total_sect = bs.total_sect;
|
||||
}
|
||||
if (!mydata->total_sect) /* unlikely */
|
||||
mydata->total_sect = (u32)cur_part_info.size;
|
||||
|
||||
mydata->fats = bs.fats;
|
||||
mydata->fat_sect = bs.reserved;
|
||||
|
||||
mydata->rootdir_sect = mydata->fat_sect + mydata->fatlength * bs.fats;
|
||||
|
@ -173,6 +173,8 @@ typedef struct {
|
||||
int fatbufnum; /* Used by get_fatent, init to -1 */
|
||||
int rootdir_size; /* Size of root dir for non-FAT32 */
|
||||
__u32 root_cluster; /* First cluster of root dir for FAT32 */
|
||||
u32 total_sect; /* Number of sectors */
|
||||
int fats; /* Number of FATs */
|
||||
} fsdata;
|
||||
|
||||
static inline u32 clust_to_sect(fsdata *fsdata, u32 clust)
|
||||
|
Loading…
Reference in New Issue
Block a user