From d23f2fc73f2079424dbceb7df5fc222492ce4d40 Mon Sep 17 00:00:00 2001 From: Far Date: Tue, 7 Sep 2021 14:51:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=80=82=E9=85=8D=E4=B8=89=E6=96=B9?= =?UTF-8?q?=E5=BA=93FatFs=E5=8D=87=E7=BA=A7=E8=87=B3r0.14a=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 适配了_mkfs和find_volume接口的修改 Signed-off-by: Far --- fs/fat/os_adapt/fatfs.c | 5 ++++- fs/fat/os_adapt/fatfs.h | 2 +- fs/fat/virpart/src/virpartff.c | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fs/fat/os_adapt/fatfs.c b/fs/fat/os_adapt/fatfs.c index abbf6990..1990fd0a 100644 --- a/fs/fat/os_adapt/fatfs.c +++ b/fs/fat/os_adapt/fatfs.c @@ -1848,6 +1848,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); @@ -1872,7 +1873,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); } -- GitLab