--- x/block/ioctl.c +++ y/block/ioctl.c @@ -367,12 +367,10 @@ static int blkdev_flushbuf(struct block_ if (!capable(CAP_SYS_ADMIN)) return -EACCES; - mutex_lock(&bdev->bd_holder_lock); if (bdev->bd_holder_ops && bdev->bd_holder_ops->sync) bdev->bd_holder_ops->sync(bdev); else sync_blockdev(bdev); - mutex_unlock(&bdev->bd_holder_lock); invalidate_bdev(bdev); return 0; --- x/fs/super.c +++ y/fs/super.c @@ -1461,8 +1461,6 @@ static void fs_bdev_sync(struct block_de { struct super_block *sb = bdev->bd_holder; - lockdep_assert_held(&bdev->bd_holder_lock); - if (!super_lock_shared_active(sb)) return; sync_filesystem(sb);