lkml.org 
[lkml]   [2019]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 03/52] Revert "loop: Fold __loop_release into loop_release"
    Date
    4.14-stable review patch.  If anyone has any objections, please let me know.

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

    From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    This reverts commit f1e81ba8a3fa56dcc48828869b392b29559a0ac3 which is
    commit 967d1dc144b50ad005e5eecdfadfbcfb399ffff6 upstream.

    It does not work properly in the 4.14.y tree and causes more problems
    than it fixes, so revert it.

    Reported-by: Thomas Lindroth <thomas.lindroth@gmail.com>
    Reported-by: Jan Kara <jack@suse.cz>
    Cc: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/block/loop.c | 16 +++++++++-------
    1 file changed, 9 insertions(+), 7 deletions(-)

    --- a/drivers/block/loop.c
    +++ b/drivers/block/loop.c
    @@ -1634,15 +1634,12 @@ out:
    return err;
    }

    -static void lo_release(struct gendisk *disk, fmode_t mode)
    +static void __lo_release(struct loop_device *lo)
    {
    - struct loop_device *lo;
    int err;

    - mutex_lock(&loop_index_mutex);
    - lo = disk->private_data;
    if (atomic_dec_return(&lo->lo_refcnt))
    - goto unlock_index;
    + return;

    mutex_lock(&loop_ctl_mutex);
    if (lo->lo_flags & LO_FLAGS_AUTOCLEAR) {
    @@ -1652,7 +1649,7 @@ static void lo_release(struct gendisk *d
    */
    err = loop_clr_fd(lo);
    if (!err)
    - goto unlock_index;
    + return;
    } else if (lo->lo_state == Lo_bound) {
    /*
    * Otherwise keep thread (if running) and config,
    @@ -1663,7 +1660,12 @@ static void lo_release(struct gendisk *d
    }

    mutex_unlock(&loop_ctl_mutex);
    -unlock_index:
    +}
    +
    +static void lo_release(struct gendisk *disk, fmode_t mode)
    +{
    + mutex_lock(&loop_index_mutex);
    + __lo_release(disk->private_data);
    mutex_unlock(&loop_index_mutex);
    }


    \
     
     \ /
      Last update: 2019-03-04 09:25    [W:4.023 / U:0.532 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site