lkml.org 
[lkml]   [2010]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -V22 12/14] vfs: Export file system uuid via /proc/<pid>/mountinfo
    Date
    We add a per superblock uuid field. File systems should
    update the uuid in the fill_super callback

    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    ---
    fs/namespace.c | 16 ++++++++++++++++
    include/linux/fs.h | 1 +
    2 files changed, 17 insertions(+), 0 deletions(-)

    diff --git a/fs/namespace.c b/fs/namespace.c
    index 8a415c9..9388a82 100644
    --- a/fs/namespace.c
    +++ b/fs/namespace.c
    @@ -871,6 +871,18 @@ const struct seq_operations mounts_op = {
    .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)
    {
    struct proc_mounts *p = m->private;
    @@ -909,6 +921,10 @@ static int show_mountinfo(struct seq_file *m, void *v)
    if (IS_MNT_UNBINDABLE(mnt))
    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 */
    seq_puts(m, " - ");
    show_type(m, sb);
    diff --git a/include/linux/fs.h b/include/linux/fs.h
    index 2ab3062..3143ba9 100644
    --- a/include/linux/fs.h
    +++ b/include/linux/fs.h
    @@ -1398,6 +1398,7 @@ struct super_block {
    wait_queue_head_t s_wait_unfrozen;

    char s_id[32]; /* Informational name */
    + u8 s_uuid[16]; /* UUID */

    void *s_fs_info; /* Filesystem private info */
    fmode_t s_mode;
    --
    1.7.1


    \
     
     \ /
      Last update: 2010-10-29 12:01    [W:0.021 / U:0.740 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site