• Christian Brauner's avatar
    fs: simplify check in mount_setattr_commit() · 03b6abee
    Christian Brauner authored
    In order to determine whether we need to call mnt_unhold_writers() in
    mount_setattr_commit() we currently do not just check whether
    MNT_WRITE_HOLD is set but also if a read-only mount was requested.
    
    However, checking whether MNT_WRITE_HOLD is set is enough. Setting
    MNT_WRITE_HOLD requires lock_mount_hash() to be held and it must be
    unset before calling unlock_mount_hash(). This guarantees that if we see
    MNT_WRITE_HOLD we know that we were the ones who set it earlier. We
    don't need to care about why we set it. Plus, leaving this additional
    read-only check in makes the code more confusing because it implies that
    MNT_WRITE_HOLD could've been set by another thread when it really can't.
    Remove it and update the associated comment.
    
    Link: https://lore.kernel.org/r/20220203131411.3093040-6-brauner@kernel.org
    Cc: Seth Forshee <seth.forshee@digitalocean.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Al Viro <viro@zeniv.linux.org.uk>
    Cc: linux-fsdevel@vger.kernel.org
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
    03b6abee
namespace.c 113 KB