]> git.proxmox.com Git - pve-kernel.git/commitdiff
drop -ERESTARTSYS handling in blkdev_get_by_dev patch
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 11 Jan 2022 11:06:25 +0000 (12:06 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 11 Jan 2022 11:06:48 +0000 (12:06 +0100)
ZFS 2.1.2 handles this internally
(commit 16da688f2518526389e6bff8370684a1a2a1469c)

Originally-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
patches/kernel/0008-Revert-block-remove-the-ERESTARTSYS-handling-in-blkd.patch [deleted file]

diff --git a/patches/kernel/0008-Revert-block-remove-the-ERESTARTSYS-handling-in-blkd.patch b/patches/kernel/0008-Revert-block-remove-the-ERESTARTSYS-handling-in-blkd.patch
deleted file mode 100644 (file)
index 6c51c6e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Thomas Lamprecht <t.lamprecht@proxmox.com>
-Date: Tue, 9 Nov 2021 12:01:12 +0100
-Subject: [PATCH] Revert "block: remove the -ERESTARTSYS handling in
- blkdev_get_by_dev"
-
-This reverts commit a8ed1a0607cfa5478ff6009539f44790c4d0956d.
-
-It breaks ZFS sometimes:
-https://github.com/openzfs/zfs/issues/12301#issuecomment-873303739
-
-Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
----
- block/bdev.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/block/bdev.c b/block/bdev.c
-index 485a258b0ab3..f93165f05987 100644
---- a/block/bdev.c
-+++ b/block/bdev.c
-@@ -800,6 +800,10 @@ struct block_device *blkdev_get_by_dev(dev_t dev, fmode_t mode, void *holder)
-       if (ret)
-               return ERR_PTR(ret);
-+      /*
-+       * If we lost a race with 'disk' being deleted, try again.  See md.c.
-+       */
-+retry:
-       bdev = blkdev_get_no_open(dev);
-       if (!bdev)
-               return ERR_PTR(-ENXIO);
-@@ -852,6 +856,8 @@ struct block_device *blkdev_get_by_dev(dev_t dev, fmode_t mode, void *holder)
-       disk_unblock_events(disk);
- put_blkdev:
-       blkdev_put_no_open(bdev);
-+      if (ret == -ERESTARTSYS)
-+              goto retry;
-       return ERR_PTR(ret);
- }
- EXPORT_SYMBOL(blkdev_get_by_dev);