From: Christian Brauner Date: Tue, 24 Oct 2023 13:01:09 +0000 (+0200) Subject: bdev: surface the error from sync_blockdev() X-Git-Tag: v6.8-rc1~214^2~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fbcb8f39e96d59f4ed48cbdfaa65211fa867985c;p=thirdparty%2Fkernel%2Flinux.git bdev: surface the error from sync_blockdev() When freeze_super() is called, sync_filesystem() will be called which calls sync_blockdev() and already surfaces any errors. Do the same for block devices that aren't owned by a superblock and also for filesystems that don't call sync_blockdev() internally but implicitly rely on bdev_freeze() to do it. Link: https://lore.kernel.org/r/20231024-vfs-super-freeze-v2-3-599c19f4faac@kernel.org Reviewed-by: Darrick J. Wong Reviewed-by: Jan Kara Signed-off-by: Christian Brauner --- diff --git a/block/bdev.c b/block/bdev.c index a890da1b3adfe..f27f1a7db2bd5 100644 --- a/block/bdev.c +++ b/block/bdev.c @@ -245,7 +245,7 @@ int bdev_freeze(struct block_device *bdev) bdev->bd_fsfreeze_sb = sb; sync: - sync_blockdev(bdev); + error = sync_blockdev(bdev); done: mutex_unlock(&bdev->bd_fsfreeze_mutex); return error;