diff --git a/block/bdev.c b/block/bdev.c index f20f91b3176e..e57be2320423 100644 --- a/block/bdev.c +++ b/block/bdev.c @@ -301,7 +301,9 @@ int bdev_freeze(struct block_device *bdev) { int error = 0; - mutex_lock(&bdev->bd_fsfreeze_mutex); + error = mutex_lock_killable(&bdev->bd_fsfreeze_mutex); + if (error) + return error; /* A device being removed from its filesystem refuses freezes. */ if (!atomic_inc_unless_negative(&bdev->bd_fsfreeze_count)) {