• Mark Fasheh's avatar
    [PATCH] Take i_mutex in splice_from_pipe() · 62752ee1
    Mark Fasheh authored
    The splice_actor may be calling ->prepare_write() and ->commit_write(). We
    want i_mutex on the inode being written to before calling those so that we
    don't race i_size changes.
    
    The double locking behavior is done elsewhere in splice.c, and if we
    eventually want _nolock variants of generic_file_splice_write(), fs modules
    might have to replicate the nasty locking code. We introduce
    inode_double_lock() and inode_double_unlock() to consolidate the locking
    rules into one set of functions.
    Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
    Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
    62752ee1
inode.c 37.1 KB