lkml.org 
[lkml]   [2015]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.0 115/220] mnt: Factor umount_mnt from umount_tree
    Date
    4.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: "Eric W. Biederman" <ebiederm@xmission.com>

    commit 6a46c5735c29175da55b2fa9d53775182422cdd7 upstream.

    For future use factor out a function umount_mnt from umount_tree.
    This function unhashes a mount and remembers where the mount
    was mounted so that eventually when the code makes it to a
    sleeping context the mountpoint can be dput.

    Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    fs/namespace.c | 14 +++++++++++---
    1 file changed, 11 insertions(+), 3 deletions(-)

    --- a/fs/namespace.c
    +++ b/fs/namespace.c
    @@ -822,6 +822,16 @@ static void detach_mnt(struct mount *mnt
    /*
    * vfsmount lock must be held for write
    */
    +static void umount_mnt(struct mount *mnt)
    +{
    + /* old mountpoint will be dropped when we can do that */
    + mnt->mnt_ex_mountpoint = mnt->mnt_mountpoint;
    + unhash_mnt(mnt);
    +}
    +
    +/*
    + * vfsmount lock must be held for write
    + */
    void mnt_set_mountpoint(struct mount *mnt,
    struct mountpoint *mp,
    struct mount *child_mnt)
    @@ -1373,9 +1383,7 @@ static void umount_tree(struct mount *mn
    pin_insert_group(&p->mnt_umount, &p->mnt_parent->mnt, &unmounted);
    if (mnt_has_parent(p)) {
    mnt_add_count(p->mnt_parent, -1);
    - /* old mountpoint will be dropped when we can do that */
    - p->mnt_ex_mountpoint = p->mnt_mountpoint;
    - unhash_mnt(p);
    + umount_mnt(p);
    }
    change_mnt_propagation(p, MS_PRIVATE);
    }



    \
     
     \ /
      Last update: 2015-05-02 21:21    [W:4.036 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site