diff --git a/fs/fat/os_adapt/fatfs.c b/fs/fat/os_adapt/fatfs.c index 8b2df0a2..504e7755 100644 --- a/fs/fat/os_adapt/fatfs.c +++ b/fs/fat/os_adapt/fatfs.c @@ -1873,6 +1873,7 @@ int fatfs_mkfs (struct Vnode *device, int sectors, int option) BYTE *work_buff = NULL; los_part *part = NULL; FRESULT result; + MKFS_PARM opt = {0}; int ret; part = los_part_find(device); @@ -1897,7 +1898,9 @@ int fatfs_mkfs (struct Vnode *device, int sectors, int option) return -ENOMEM; } - result = _mkfs(part, sectors, option, work_buff, FF_MAX_SS); + opt.n_sect = sectors; + opt.fmt = (BYTE)option; + result = _mkfs(part, &opt, work_buff, FF_MAX_SS); free(work_buff); if (result != FR_OK) { return -fatfs_2_vfs(result); diff --git a/fs/fat/os_adapt/fatfs.h b/fs/fat/os_adapt/fatfs.h index 734cf948..5fe1a905 100644 --- a/fs/fat/os_adapt/fatfs.h +++ b/fs/fat/os_adapt/fatfs.h @@ -146,7 +146,7 @@ int fatfs_fscheck(struct Vnode* vnode, struct fs_dirent_s *dir); FRESULT find_fat_partition(FATFS *fs, los_part *part, BYTE *format, QWORD *start_sector); FRESULT init_fatobj(FATFS *fs, BYTE fmt, QWORD start_sector); -FRESULT _mkfs(los_part *partition, int sector, int opt, BYTE *work, UINT len); +FRESULT _mkfs(los_part *partition, const MKFS_PARM *opt, BYTE *work, UINT len); #ifdef __cplusplus #if __cplusplus diff --git a/fs/fat/virpart/src/virpartff.c b/fs/fat/virpart/src/virpartff.c index f6ac5bfd..066ba2e7 100644 --- a/fs/fat/virpart/src/virpartff.c +++ b/fs/fat/virpart/src/virpartff.c @@ -525,7 +525,7 @@ FRESULT f_checkvirpart(FATFS *fs, const TCHAR *path, BYTE vol) } /* Lock the filesystem object */ - res = find_volume(&path, &fs, FA_WRITE); /* Update the filesystem info to the parent fs */ + res = mount_volume(&path, &fs, FA_WRITE); /* Update the filesystem info to the parent fs */ if (res != FR_OK) { LEAVE_FF(fs, res); } @@ -683,7 +683,7 @@ FRESULT f_makevirpart(FATFS *fs, const TCHAR *path, BYTE vol) } /* Lock the filesystem object */ - res = find_volume(&path, &fs, FA_WRITE); /* Update the filesystem info to the parent fs */ + res = mount_volume(&path, &fs, FA_WRITE); /* Update the filesystem info to the parent fs */ if (res != FR_OK) { LEAVE_FF(fs, res); } @@ -774,7 +774,7 @@ FRESULT f_getvirfree(const TCHAR *path, DWORD *nclst, DWORD *cclst) DIR dj; /* Find volume to Update the global FSINFO */ - res = find_volume(&path, &fs, 0); + res = mount_volume(&path, &fs, 0); if (res != FR_OK) { LEAVE_FF(fs, res); }