Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
0469e5b8
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
大约 1 年 前同步成功
通知
456
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0469e5b8
编写于
6月 29, 2021
作者:
O
openharmony_ci
提交者:
Gitee
6月 29, 2021
浏览文件
操作
浏览文件
下载
差异文件
!378 修复了FATFS设置卷标的功能
Merge pull request !378 from Far/master
上级
dfea902a
9515d53d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
49 addition
and
5 deletion
+49
-5
fs/fat/os_adapt/fatfs.c
fs/fat/os_adapt/fatfs.c
+47
-5
fs/fat/os_adapt/fatfs.h
fs/fat/os_adapt/fatfs.h
+2
-0
未找到文件。
fs/fat/os_adapt/fatfs.c
浏览文件 @
0469e5b8
...
...
@@ -1776,6 +1776,45 @@ static int fatfs_set_part_info(los_part *part)
return
0
;
}
static
FRESULT
fatfs_setlabel
(
los_part
*
part
)
{
QWORD
start_sector
=
0
;
BYTE
fmt
=
0
;
FATFS
fs
;
FRESULT
result
;
#ifdef LOSCFG_FS_FAT_VIRTUAL_PARTITION
fs
.
vir_flag
=
FS_PARENT
;
fs
.
parent_fs
=
&
fs
;
fs
.
vir_amount
=
DISK_ERROR
;
fs
.
vir_avail
=
FS_VIRDISABLE
;
#endif
if
(
disk_ioctl
(
fs
.
pdrv
,
GET_SECTOR_SIZE
,
&
(
fs
.
ssize
))
!=
RES_OK
)
{
return
-
EIO
;
}
fs
.
win
=
(
BYTE
*
)
ff_memalloc
(
fs
.
ssize
);
if
(
fs
.
win
==
NULL
)
{
return
-
ENOMEM
;
}
result
=
find_fat_partition
(
&
fs
,
part
,
&
fmt
,
&
start_sector
);
if
(
result
!=
FR_OK
)
{
free
(
fs
.
win
);
return
-
fatfs_2_vfs
(
result
);
}
result
=
init_fatobj
(
&
fs
,
fmt
,
start_sector
);
if
(
result
!=
FR_OK
)
{
free
(
fs
.
win
);
return
-
fatfs_2_vfs
(
result
);
}
result
=
set_volumn_label
(
&
fs
,
FatLabel
);
free
(
fs
.
win
);
return
result
;
}
int
fatfs_mkfs
(
struct
Vnode
*
device
,
int
sectors
,
int
option
)
{
BYTE
*
work_buff
=
NULL
;
...
...
@@ -1811,19 +1850,22 @@ int fatfs_mkfs (struct Vnode *device, int sectors, int option)
return
-
fatfs_2_vfs
(
result
);
}
result
=
fatfs_setlabel
(
part
);
if
(
result
==
FR_OK
)
{
#ifdef LOSCFG_FS_FAT_CACHE
ret
=
OsSdSync
(
part
->
disk_id
);
if
(
ret
!=
0
)
{
return
-
EIO
;
}
ret
=
OsSdSync
(
part
->
disk_id
);
if
(
ret
!=
0
)
{
return
-
EIO
;
}
#endif
}
ret
=
fatfs_set_part_info
(
part
);
if
(
ret
!=
0
)
{
return
-
EIO
;
}
return
0
;
return
-
fatfs_2_vfs
(
result
)
;
}
int
fatfs_mkdir
(
struct
Vnode
*
parent
,
const
char
*
name
,
mode_t
mode
,
struct
Vnode
**
vpp
)
...
...
fs/fat/os_adapt/fatfs.h
浏览文件 @
0469e5b8
...
...
@@ -113,6 +113,8 @@ extern "C" {
#define FMT_ANY 0x07
#define FMT_ERASE 0x08
extern
char
FatLabel
[
LABEL_LEN
];
int
fatfs_2_vfs
(
int
result
);
int
fatfs_lookup
(
struct
Vnode
*
parent
,
const
char
*
name
,
int
len
,
struct
Vnode
**
vpp
);
int
fatfs_create
(
struct
Vnode
*
parent
,
const
char
*
name
,
int
mode
,
struct
Vnode
**
vpp
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录