| On Sat Jul 01, 2000 at 12:04:36PM -0400, Alexander Viro wrote: |
| > |
| > Try to trace the path from their roots to absolute root(s)... They simply |
| > should not be in the output - that's a debugging stuff and I have no |
| > problems with removing it from /proc/mounts. No heuristics needed - we |
| > can pass NULL as dev_name in kern_mount() and check for NULL ->mnt_devname |
| > in get_filesystem_info(). I'll do that as soon as threading patches will |
| > be over (hopefully RSN - they went to Linus). |
| > |
| |
| Ok, cool. So something like then? I kept in the filter for FS_NOMOUNT |
| filesystems, as I assume those should never show up in /proc/mounts, and added |
| that filter to the /proc/filesystems listing as well. |
| |
| -Erik |
| |
| -- |
| Erik B. Andersen Web: http://www.xmission.com/~andersen/ |
| email: andersee@debian.org |
| --This message was written using 73% post-consumer electrons-- |
| |
| |
| --- fs/super.c.virgin Wed Jun 28 22:42:35 2000 |
| +++ fs/super.c Mon Jul 3 12:07:07 2000 |
| @@ -251,6 +251,10 @@ int get_filesystem_list(char * buf) |
| read_lock(&file_systems_lock); |
| tmp = file_systems; |
| while (tmp && len < PAGE_SIZE - 80) { |
| + /* Filter out any filesystems that are marked as FS_NOMOUNT. |
| + * User space doesn't need to know or care about them */ |
| + if (tmp->fs_flags & FS_NOMOUNT) |
| + continue; |
| len += sprintf(buf+len, "%s\t%s\n", |
| (tmp->fs_flags & FS_REQUIRES_DEV) ? "" : "nodev", |
| tmp->name); |
| @@ -443,6 +447,16 @@ int get_filesystem_info( char *buf ) |
| path = d_path(tmp->mnt_root, tmp, buffer, PAGE_SIZE); |
| if (!path) |
| continue; |
| + /* Filter out any filesystems that are marked as FS_NOMOUNT. |
| + * User space doesn't need to know or care about them */ |
| + if (tmp->mnt_sb->s_type->fs_flags & FS_NOMOUNT) |
| + continue; |
| + /* kern_mount() allows the kernel to mount internal-use-only |
| + * filesystems, and marks then with ->mnt_devname==NULL, so |
| + * filter out those here */ |
| + if (tmp->mnt_devname == NULL) |
| + continue; |
| + |
| len += sprintf( buf + len, "%s %s %s %s", |
| tmp->mnt_devname, path, |
| tmp->mnt_sb->s_type->name, |
| @@ -895,7 +909,7 @@ struct vfsmount *kern_mount(struct file_ |
| put_unnamed_dev(dev); |
| return ERR_PTR(-EINVAL); |
| } |
| - mnt = add_vfsmnt(sb, sb->s_root, sb->s_root, NULL, "none", type->name); |
| + mnt = add_vfsmnt(sb, sb->s_root, sb->s_root, NULL, NULL, type->name); |
| if (!mnt) { |
| kill_super(sb, 0); |
| return ERR_PTR(-ENOMEM); |
| |
| - |
| To unsubscribe from this list: send the line "unsubscribe linux-kernel" in |
| the body of a message to majordomo@vger.rutgers.edu |
| Please read the FAQ at http://www.tux.org/lkml/ |