lkml.org 
[lkml]   [2006]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 2/6] vfs: propagate mnt_flags into do_loopback/vfsmount

    ;
    ; Bind Mount Extensions
    ;
    ; Copyright (C) 2003-2006 Herbert Pötzl <herbert@13thfloor.at>
    ;
    ; the mnt_flags are propagated into do_loopback(), so that
    ; they can be stored with the vfsmount
    ;
    ;
    ; Changelog:
    ;
    ; 0.01 - broken out from bm0.01
    ;

    Signed-off-by: Herbert Pötzl <herbert@13thfloor.at>

    diff -NurpP --minimal linux-2.6.16-rc1/fs/namespace.c linux-2.6.16-rc1-bme0.06.2-lo0.01/fs/namespace.c
    --- linux-2.6.16-rc1/fs/namespace.c 2006-01-18 06:08:30 +0100
    +++ linux-2.6.16-rc1-bme0.06.2-lo0.01/fs/namespace.c 2006-01-21 09:08:29 +0100
    @@ -861,11 +861,13 @@ static int do_change_type(struct nameida
    /*
    * do loopback mount.
    */
    -static int do_loopback(struct nameidata *nd, char *old_name, int recurse)
    +static int do_loopback(struct nameidata *nd, char *old_name, unsigned long flags, int mnt_flags)
    {
    struct nameidata old_nd;
    struct vfsmount *mnt = NULL;
    + int recurse = flags & MS_REC;
    int err = mount_is_safe(nd);
    +
    if (err)
    return err;
    if (!old_name || !*old_name)
    @@ -899,6 +901,7 @@ static int do_loopback(struct nameidata
    spin_unlock(&vfsmount_lock);
    release_mounts(&umount_list);
    }
    + mnt->mnt_flags = mnt_flags;

    out:
    up_write(&namespace_sem);
    @@ -1312,7 +1315,7 @@ long do_mount(char *dev_name, char *dir_
    retval = do_remount(&nd, flags & ~MS_REMOUNT, mnt_flags,
    data_page);
    else if (flags & MS_BIND)
    - retval = do_loopback(&nd, dev_name, flags & MS_REC);
    + retval = do_loopback(&nd, dev_name, flags, mnt_flags);
    else if (flags & (MS_SHARED | MS_PRIVATE | MS_SLAVE | MS_UNBINDABLE))
    retval = do_change_type(&nd, flags);
    else if (flags & MS_MOVE)
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-01-21 09:43    [W:0.023 / U:59.444 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site