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

Re: [PATCH 06/12] xen-blkfront: add callbacks for PM suspend and hibernation



Hi Anchal,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.7-rc6]
[cannot apply to xen-tip/linux-next tip/irq/core tip/auto-latest next-20200519]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Anchal-Agarwal/Fix-PM-hibernation-in-Xen-guests/20200520-073211
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
03fb3acae4be8a6b680ffedb220a8b6c07260b40
config: x86_64-rhel (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>, old ones prefixed by <<):

drivers/block/xen-blkfront.c: In function 'blkfront_freeze':
>> drivers/block/xen-blkfront.c:2699:30: warning: missing terminating " 
>> character
xenbus_dev_error(dev, err, "Hibernation Failed.
^
>> drivers/block/xen-blkfront.c:2699:30: error: missing terminating " character
xenbus_dev_error(dev, err, "Hibernation Failed.
^~~~~~~~~~~~~~~~~~~~
>> drivers/block/xen-blkfront.c:2700:4: error: 'The' undeclared (first use in 
>> this function)
The ring is still busy");
^~~
drivers/block/xen-blkfront.c:2700:4: note: each undeclared identifier is 
reported only once for each function it appears in
>> drivers/block/xen-blkfront.c:2700:8: error: expected ')' before 'ring'
The ring is still busy");
^~~~
drivers/block/xen-blkfront.c:2700:26: warning: missing terminating " character
The ring is still busy");
^
drivers/block/xen-blkfront.c:2700:26: error: missing terminating " character
The ring is still busy");
^~~
>> drivers/block/xen-blkfront.c:2704:2: error: expected ';' before '}' token
}
^

vim +2699 drivers/block/xen-blkfront.c

  2672  
  2673  static int blkfront_freeze(struct xenbus_device *dev)
  2674  {
  2675          unsigned int i;
  2676          struct blkfront_info *info = dev_get_drvdata(&dev->dev);
  2677          struct blkfront_ring_info *rinfo;
  2678          /* This would be reasonable timeout as used in 
xenbus_dev_shutdown() */
  2679          unsigned int timeout = 5 * HZ;
  2680          unsigned long flags;
  2681          int err = 0;
  2682  
  2683          info->connected = BLKIF_STATE_FREEZING;
  2684  
  2685          blk_mq_freeze_queue(info->rq);
  2686          blk_mq_quiesce_queue(info->rq);
  2687  
  2688          for_each_rinfo(info, rinfo, i) {
  2689              /* No more gnttab callback work. */
  2690              gnttab_cancel_free_callback(&rinfo->callback);
  2691              /* Flush gnttab callback work. Must be done with no locks 
held. */
  2692              flush_work(&rinfo->work);
  2693          }
  2694  
  2695          for_each_rinfo(info, rinfo, i) {
  2696              spin_lock_irqsave(&rinfo->ring_lock, flags);
  2697              if (RING_FULL(&rinfo->ring)
  2698                      || RING_HAS_UNCONSUMED_RESPONSES(&rinfo->ring)) {
> 2699                  xenbus_dev_error(dev, err, "Hibernation Failed.
> 2700                          The ring is still busy");
  2701                  info->connected = BLKIF_STATE_CONNECTED;
  2702                  spin_unlock_irqrestore(&rinfo->ring_lock, flags);
  2703                  return -EBUSY;
> 2704          }
  2705              spin_unlock_irqrestore(&rinfo->ring_lock, flags);
  2706          }
  2707          /* Kick the backend to disconnect */
  2708          xenbus_switch_state(dev, XenbusStateClosing);
  2709  
  2710          /*
  2711           * We don't want to move forward before the frontend is 
diconnected
  2712           * from the backend cleanly.
  2713           */
  2714          timeout = 
wait_for_completion_timeout(&info->wait_backend_disconnected,
  2715                                                timeout);
  2716          if (!timeout) {
  2717                  err = -EBUSY;
  2718                  xenbus_dev_error(dev, err, "Freezing timed out;"
  2719                                   "the device may become inconsistent 
state");
  2720          }
  2721  
  2722          return err;
  2723  }
  2724  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


 


Rackspace

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