Skip to content

Commit ccf0017

Browse files
committed
🐞 fix(dfs_v2): fix readonly fs can not write
1 parent 0c6c246 commit ccf0017

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

components/dfs/dfs_v2/src/dfs_pcache.c

+10-4
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,8 @@ static void dfs_pcache_thread(void *parameter)
270270
page->len = page->size;
271271
}
272272
//rt_hw_cpu_dcache_ops(RT_HW_CACHE_FLUSH, page->page, page->size);
273-
aspace->ops->write(page);
273+
if (aspace->ops->write)
274+
aspace->ops->write(page);
274275

275276
page->is_dirty = 0;
276277

@@ -739,7 +740,8 @@ static void dfs_page_release(struct dfs_page *page)
739740
page->len = page->size;
740741
}
741742
//rt_hw_cpu_dcache_ops(RT_HW_CACHE_FLUSH, page->page, page->size);
742-
aspace->ops->write(page);
743+
if (aspace->ops->write)
744+
aspace->ops->write(page);
743745
page->is_dirty = 0;
744746
}
745747
RT_ASSERT(page->is_dirty == 0);
@@ -1066,6 +1068,8 @@ int dfs_aspace_read(struct dfs_file *file, void *buf, size_t count, off_t *pos)
10661068

10671069
if (file && file->vnode && file->vnode->aspace)
10681070
{
1071+
if (!(file->vnode->aspace->ops->read))
1072+
return ret;
10691073
struct dfs_vnode *vnode = file->vnode;
10701074
struct dfs_aspace *aspace = vnode->aspace;
10711075

@@ -1126,6 +1130,8 @@ int dfs_aspace_write(struct dfs_file *file, const void *buf, size_t count, off_t
11261130

11271131
if (file && file->vnode && file->vnode->aspace)
11281132
{
1133+
if (!(file->vnode->aspace->ops->write))
1134+
return ret;
11291135
struct dfs_vnode *vnode = file->vnode;
11301136
struct dfs_aspace *aspace = vnode->aspace;
11311137

@@ -1213,8 +1219,8 @@ int dfs_aspace_flush(struct dfs_aspace *aspace)
12131219
page->len = page->size;
12141220
}
12151221
//rt_hw_cpu_dcache_ops(RT_HW_CACHE_FLUSH, page->page, page->size);
1216-
1217-
aspace->ops->write(page);
1222+
if (aspace->ops->write)
1223+
aspace->ops->write(page);
12181224

12191225
page->is_dirty = 0;
12201226
}

0 commit comments

Comments
 (0)