[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1/3] xen-blkfront: introduce blkfront_gather_backend_features()
El 21/07/15 a les 5.30, Bob Liu ha escrit: > There is a bug when migrate from !feature-persistent host to > feature-persistent > host, because domU still think new host/backend don't support persistent. > Dmesg like: > backed has not unmapped grant: 839 > backed has not unmapped grant: 773 > backed has not unmapped grant: 773 > backed has not unmapped grant: 773 > backed has not unmapped grant: 839 > > The fix is to recheck feature-persistent of new backend in blkif_recover(). > See: https://lkml.org/lkml/2015/5/25/469 > > As Roger suggested, we can split the part of blkfront_connect that checks for > optional features, like persistent grants, indirect descriptors and > flush/barrier features to a separate function and call it from both > blkfront_connect and blkif_recover > > Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx> Thanks for taking care of this. The patch looks fine, just one minor nit. > --- > drivers/block/xen-blkfront.c | 118 > +++++++++++++++++++++++------------------- > 1 file changed, 66 insertions(+), 52 deletions(-) > > diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c > index 5b45ee5..e266d17 100644 > --- a/drivers/block/xen-blkfront.c > +++ b/drivers/block/xen-blkfront.c > @@ -181,6 +181,7 @@ static DEFINE_SPINLOCK(minor_lock); > ((_segs + SEGS_PER_INDIRECT_FRAME - 1)/SEGS_PER_INDIRECT_FRAME) > > static int blkfront_setup_indirect(struct blkfront_info *info); > +static void blkfront_gather_backend_features(struct blkfront_info *info); > > static int get_id_from_freelist(struct blkfront_info *info) > { > @@ -1514,6 +1515,7 @@ static int blkif_recover(struct blkfront_info *info) > info->shadow_free = info->ring.req_prod_pvt; > info->shadow[BLK_RING_SIZE(info)-1].req.u.rw.id = 0x0fffffff; > > + blkfront_gather_backend_features(info); > rc = blkfront_setup_indirect(info); AFAICT you can put the call to blkfront_setup_indirect inside of blkfront_gather_backend_features, like it's done for blkfront_setup_discard. Roger. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |