diff --git a/fs/include/fs/mount.h b/fs/include/fs/mount.h index c2a3a46d..cd524cda 100644 --- a/fs/include/fs/mount.h +++ b/fs/include/fs/mount.h @@ -35,6 +35,7 @@ #include "fs/vfs_util.h" #include "fs/vnode.h" #include +#include struct MountOps; @@ -50,6 +51,7 @@ struct Mount { void *data; /* private data */ uint32_t hashseed; /* Random seed for vfshash */ unsigned long mountFlags; /* Flags for mount */ + char pathName[PATH_MAX]; /* path name of mount point */ }; struct MountOps { diff --git a/fs/proc/os_adapt/proc_vfs.c b/fs/proc/os_adapt/proc_vfs.c index 87412b11..2d06f478 100755 --- a/fs/proc/os_adapt/proc_vfs.c +++ b/fs/proc/os_adapt/proc_vfs.c @@ -257,9 +257,23 @@ int VfsProcfsClose(struct file *filep) return result; } +int VfsProcfsStatfs(struct Mount *mnt, struct statfs *buf) +{ + (void)memset_s(buf, sizeof(struct statfs), 0, sizeof(struct statfs)); + buf->f_type = PROCFS_MAGIC; + + return LOS_OK; +} + +int VfsProcfsClosedir(struct Vnode *vp, struct fs_dirent_s *dir) +{ + return LOS_OK; +} + const struct MountOps procfs_operations = { .Mount = VfsProcfsMount, .Unmount = NULL, + .Statfs = VfsProcfsStatfs, }; static struct VnodeOps g_procfsVops = { @@ -267,6 +281,7 @@ static struct VnodeOps g_procfsVops = { .Getattr = VfsProcfsStat, .Readdir = VfsProcfsReaddir, .Opendir = VfsProcfsOpendir, + .Closedir = VfsProcfsClosedir }; static struct file_operations_vfs g_procfsFops = {