Commit be85bcca authored by Linus Torvalds's avatar Linus Torvalds

Revert "vfs: Export file system uuid via /proc/<pid>/mountinfo"

This reverts commit 93f1c20b.

It turns out that libmount misparses it because it adds a '-' character
in the uuid string, which libmount then incorrectly confuses with the
separator string (" - ") at the end of all the optional arguments.

Upstream libmount (in the util-linux tree) has been fixed, but until
that fix actually percolates up to users, we'd better not expose this
change in the kernel.

Let's revisit this later (possibly by exposing the UUID without any '-'
characters in it, avoiding the user-space bug).
Reported-by: default avatarDave Jones <davej@redhat.com>
Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Karel Zak <kzak@redhat.com>
Cc: Ram Pai <linuxram@us.ibm.com>
Cc: Miklos Szeredi <mszeredi@suse.cz>
Cc: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 16ad5697
...@@ -1030,18 +1030,6 @@ const struct seq_operations mounts_op = { ...@@ -1030,18 +1030,6 @@ const struct seq_operations mounts_op = {
.show = show_vfsmnt .show = show_vfsmnt
}; };
static int uuid_is_nil(u8 *uuid)
{
int i;
u8 *cp = (u8 *)uuid;
for (i = 0; i < 16; i++) {
if (*cp++)
return 0;
}
return 1;
}
static int show_mountinfo(struct seq_file *m, void *v) static int show_mountinfo(struct seq_file *m, void *v)
{ {
struct proc_mounts *p = m->private; struct proc_mounts *p = m->private;
...@@ -1085,10 +1073,6 @@ static int show_mountinfo(struct seq_file *m, void *v) ...@@ -1085,10 +1073,6 @@ static int show_mountinfo(struct seq_file *m, void *v)
if (IS_MNT_UNBINDABLE(mnt)) if (IS_MNT_UNBINDABLE(mnt))
seq_puts(m, " unbindable"); seq_puts(m, " unbindable");
if (!uuid_is_nil(mnt->mnt_sb->s_uuid))
/* print the uuid */
seq_printf(m, " uuid:%pU", mnt->mnt_sb->s_uuid);
/* Filesystem specific data */ /* Filesystem specific data */
seq_puts(m, " - "); seq_puts(m, " - ");
show_type(m, sb); show_type(m, sb);
......
...@@ -1403,7 +1403,6 @@ struct super_block { ...@@ -1403,7 +1403,6 @@ struct super_block {
wait_queue_head_t s_wait_unfrozen; wait_queue_head_t s_wait_unfrozen;
char s_id[32]; /* Informational name */ char s_id[32]; /* Informational name */
u8 s_uuid[16]; /* UUID */
void *s_fs_info; /* Filesystem private info */ void *s_fs_info; /* Filesystem private info */
fmode_t s_mode; fmode_t s_mode;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment