diff --git a/fs/include/fs/mount.h b/fs/include/fs/mount.h index 11f13a2b877791f19a048d0749d1668573ca1982..3ac08860e93a7d7276fe7d424fdcd1355da903b5 100644 --- a/fs/include/fs/mount.h +++ b/fs/include/fs/mount.h @@ -53,6 +53,7 @@ struct Mount { uint32_t hashseed; /* Random seed for vfshash */ unsigned long mountFlags; /* Flags for mount */ char pathName[PATH_MAX]; /* path name of mount point */ + char devName[PATH_MAX]; /* path name of dev point */ }; struct MountOps { @@ -61,7 +62,8 @@ struct MountOps { int (*Statfs)(struct Mount *mount, struct statfs *sbp); }; -typedef int (*foreach_mountpoint_t)(const char *mountpoint, +typedef int (*foreach_mountpoint_t)(const char *devpoint, + const char *mountpoint, struct statfs *statbuf, void *arg); diff --git a/fs/proc/os_adapt/mounts_proc.c b/fs/proc/os_adapt/mounts_proc.c index 1f3be0e4f8dd956bea4fffa58b621178fb918862..c5f39ab268d35640864a8e01101f804c7cf1d842 100644 --- a/fs/proc/os_adapt/mounts_proc.c +++ b/fs/proc/os_adapt/mounts_proc.c @@ -38,7 +38,7 @@ #include "fs/mount.h" #include "internal.h" -static int ShowType(const char *mountPoint, struct statfs *statBuf, void *arg) +static int ShowType(const char *devPoint, const char *mountPoint, struct statfs *statBuf, void *arg) { struct SeqBuf *seqBuf = (struct SeqBuf *)arg; char *type = NULL; @@ -66,14 +66,17 @@ static int ShowType(const char *mountPoint, struct statfs *statBuf, void *arg) return 0; } - (void)LosBufPrintf(seqBuf, "%s\t%s\n", type, mountPoint); + if (strlen(devPoint) == 0) { + (void)LosBufPrintf(seqBuf, "%s %s %s %s %d %d\n", type, mountPoint, type, "()", 0, 0); + } else { + (void)LosBufPrintf(seqBuf, "%s %s %s %s %d %d\n", devPoint, mountPoint, type, "()", 0, 0); + } return 0; } static int MountsProcFill(struct SeqBuf *m, void *v) { - (void)LosBufPrintf(m, "%s\t%s\n", "Type", "MountPoint"); foreach_mountpoint_t handler = ShowType; (void)foreach_mountpoint(handler, (void *)m);