[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH] plat/xen/drivers/blk: Retry writing rings info on getting -EAGAIN



From: Radu Nicolau <radunicolau102@xxxxxxxxx>

Retry initializing the ring entries on receiving -EAGAIN error
from xenstore

Signed-off-by: Radu Nicolau <radunicolau102@xxxxxxxxx>
---
 plat/xen/drivers/blk/blkfront_xs.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/plat/xen/drivers/blk/blkfront_xs.c 
b/plat/xen/drivers/blk/blkfront_xs.c
index e93665c..4424cbf 100644
--- a/plat/xen/drivers/blk/blkfront_xs.c
+++ b/plat/xen/drivers/blk/blkfront_xs.c
@@ -360,6 +360,7 @@ static int blkfront_xb_write_rings_info(struct blkfront_dev 
*dev)
 
        UK_ASSERT(dev != NULL);
 
+again:
        err = xs_transaction_start(&xbt);
        if (err)
                goto abort_transaction;
@@ -375,6 +376,9 @@ static int blkfront_xb_write_rings_info(struct blkfront_dev 
*dev)
        }
 
        err = xs_transaction_end(xbt, 0);
+       if (err == -EAGAIN)
+               goto again;
+
        if (err)
                uk_pr_err("Failed to end transaction: %d\n", err);
 
-- 
2.7.4


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.