]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
xen-blkback: advertise indirect segment support earlier
authorJan Beulich <JBeulich@suse.com>
Wed, 10 Feb 2016 11:18:10 +0000 (04:18 -0700)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 11 May 2016 18:33:59 +0000 (14:33 -0400)
There's no reason to defer this until the connect phase, and in fact
there are frontend implementations expecting this to be available
earlier. Move it into the probe function.

Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Bob Liu <bob.liu@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
(cherry picked from commit 5a7058450cbc8702f976d1f444974485c70cb525)
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
OraBug: 23268939

drivers/block/xen-blkback/xenbus.c

index f9483c13efed1f2edb3bc25986f7951f0c392b6c..26aa080e243cb59fa2ba4f2ba39d41f644c46265 100644 (file)
@@ -617,6 +617,14 @@ static int xen_blkbk_probe(struct xenbus_device *dev,
                goto fail;
        }
 
+       err = xenbus_printf(XBT_NIL, dev->nodename,
+                           "feature-max-indirect-segments", "%u",
+                           MAX_INDIRECT_SEGMENTS);
+       if (err)
+               dev_warn(&dev->dev,
+                        "writing %s/feature-max-indirect-segments (%d)",
+                        dev->nodename, err);
+
        /* Multi-queue: advertise how many queues are supported by us.*/
        err = xenbus_printf(XBT_NIL, dev->nodename,
                            "multi-queue-max-queues", "%u", xenblk_max_queues);
@@ -848,11 +856,6 @@ again:
                                 dev->nodename);
                goto abort;
        }
-       err = xenbus_printf(xbt, dev->nodename, "feature-max-indirect-segments", "%u",
-                           MAX_INDIRECT_SEGMENTS);
-       if (err)
-               dev_warn(&dev->dev, "writing %s/feature-max-indirect-segments (%d)",
-                        dev->nodename, err);
 
        err = xenbus_printf(xbt, dev->nodename, "sectors", "%llu",
                            (unsigned long long)vbd_sz(&be->blkif->vbd));