msleep(1);
WPRINTK("unknown operation [%d]\n",
req.operation);
+ WPRINTK("req_prod: 0x%08x, req_cons: 0x%08x, "
+ "rsp_prod: 0x%08x, rsp_prod_pvt: 0x%08x\n",
+ blk_rings->common.sring->req_prod,
+ blk_rings->common.req_cons,
+ blk_rings->common.sring->rsp_prod,
+ blk_rings->common.rsp_prod_pvt);
make_response(blkif, req.id, req.operation,
BLKIF_RSP_ERROR);
free_req(pending_req);
#define DPRINTK(_f, _a...) pr_debug("(file=%s, line=%d) " _f, \
__FILE__ , __LINE__ , ## _a )
-#define WPRINTK(fmt, args...) printk(KERN_WARNING "blk_tap: " fmt, ##args)
+#define WPRINTK(fmt, args...) \
+do { \
+ if (printk_ratelimit()) \
+ printk(KERN_WARNING "blk_tap: " fmt, ##args); \
+} while (0)
struct backend_info;