@@ -270,7 +270,8 @@ static void dfs_pcache_thread(void *parameter)
270
270
page -> len = page -> size ;
271
271
}
272
272
//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 );
274
275
275
276
page -> is_dirty = 0 ;
276
277
@@ -739,7 +740,8 @@ static void dfs_page_release(struct dfs_page *page)
739
740
page -> len = page -> size ;
740
741
}
741
742
//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 );
743
745
page -> is_dirty = 0 ;
744
746
}
745
747
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)
1066
1068
1067
1069
if (file && file -> vnode && file -> vnode -> aspace )
1068
1070
{
1071
+ if (!(file -> vnode -> aspace -> ops -> read ))
1072
+ return ret ;
1069
1073
struct dfs_vnode * vnode = file -> vnode ;
1070
1074
struct dfs_aspace * aspace = vnode -> aspace ;
1071
1075
@@ -1126,6 +1130,8 @@ int dfs_aspace_write(struct dfs_file *file, const void *buf, size_t count, off_t
1126
1130
1127
1131
if (file && file -> vnode && file -> vnode -> aspace )
1128
1132
{
1133
+ if (!(file -> vnode -> aspace -> ops -> write ))
1134
+ return ret ;
1129
1135
struct dfs_vnode * vnode = file -> vnode ;
1130
1136
struct dfs_aspace * aspace = vnode -> aspace ;
1131
1137
@@ -1213,8 +1219,8 @@ int dfs_aspace_flush(struct dfs_aspace *aspace)
1213
1219
page -> len = page -> size ;
1214
1220
}
1215
1221
//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 );
1218
1224
1219
1225
page -> is_dirty = 0 ;
1220
1226
}
0 commit comments