// detached the inodes from cache, and let lru policy to recycle them
for (size_t i = 0; i < VFS_HASHTABLE_SIZE; i++) {
- __detach_node_cache_ref(&sb->i_cache[i]);
- __detach_node_cache_ref(&sb->d_cache[i]);
+ __detach_node_cache_ref(&sb->i_cache.pool[i]);
+ __detach_node_cache_ref(&sb->d_cache.pool[i]);
}
struct v_dnode *pos, *next;
if ((dnode->mnt->flags & MNT_RO)) {
return EROFS;
}
+
+ if (!check_allow_write(dnode->inode)) {
+ return EPERM;
+ }
+
return 0;
}