diff mbox

xen-blkfront: Fix handling of non-supported operations

Message ID 20170721171110.824-1-bart.vanassche@wdc.com (mailing list archive)
State New, archived
Headers show

Commit Message

Bart Van Assche July 21, 2017, 5:11 p.m. UTC
This patch fixes the following sparse warnings:

drivers/block/xen-blkfront.c:916:45: warning: incorrect type in argument 2 (different base types)
drivers/block/xen-blkfront.c:916:45:    expected restricted blk_status_t [usertype] error
drivers/block/xen-blkfront.c:916:45:    got int [signed] error
drivers/block/xen-blkfront.c:1599:47: warning: incorrect type in assignment (different base types)
drivers/block/xen-blkfront.c:1599:47:    expected int [signed] error
drivers/block/xen-blkfront.c:1599:47:    got restricted blk_status_t [usertype] <noident>
drivers/block/xen-blkfront.c:1607:55: warning: incorrect type in assignment (different base types)
drivers/block/xen-blkfront.c:1607:55:    expected int [signed] error
drivers/block/xen-blkfront.c:1607:55:    got restricted blk_status_t [usertype] <noident>
drivers/block/xen-blkfront.c:1625:55: warning: incorrect type in assignment (different base types)
drivers/block/xen-blkfront.c:1625:55:    expected int [signed] error
drivers/block/xen-blkfront.c:1625:55:    got restricted blk_status_t [usertype] <noident>
drivers/block/xen-blkfront.c:1628:62: warning: restricted blk_status_t degrades to integer

Compile-tested only.

Fixes: commit 2a842acab109 ("block: introduce new block status code type")
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Roger Pau Monné <roger.pau@citrix.com>
Cc: <xen-devel@lists.xenproject.org>
Cc: <stable@vger.kernel.org>
---
 drivers/block/xen-blkfront.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Christoph Hellwig July 24, 2017, 8:02 a.m. UTC | #1
Looks good,

Reviewed-by: Christoph Hellwig <hch@lst.de>
Jens Axboe July 24, 2017, 2:46 p.m. UTC | #2
On 07/21/2017 11:11 AM, Bart Van Assche wrote:
> This patch fixes the following sparse warnings:
> 
> drivers/block/xen-blkfront.c:916:45: warning: incorrect type in argument 2 (different base types)
> drivers/block/xen-blkfront.c:916:45:    expected restricted blk_status_t [usertype] error
> drivers/block/xen-blkfront.c:916:45:    got int [signed] error
> drivers/block/xen-blkfront.c:1599:47: warning: incorrect type in assignment (different base types)
> drivers/block/xen-blkfront.c:1599:47:    expected int [signed] error
> drivers/block/xen-blkfront.c:1599:47:    got restricted blk_status_t [usertype] <noident>
> drivers/block/xen-blkfront.c:1607:55: warning: incorrect type in assignment (different base types)
> drivers/block/xen-blkfront.c:1607:55:    expected int [signed] error
> drivers/block/xen-blkfront.c:1607:55:    got restricted blk_status_t [usertype] <noident>
> drivers/block/xen-blkfront.c:1625:55: warning: incorrect type in assignment (different base types)
> drivers/block/xen-blkfront.c:1625:55:    expected int [signed] error
> drivers/block/xen-blkfront.c:1625:55:    got restricted blk_status_t [usertype] <noident>
> drivers/block/xen-blkfront.c:1628:62: warning: restricted blk_status_t degrades to integer
> 
> Compile-tested only.

Applied, but I killed your stable tag. Why did you add that?
Bart Van Assche July 24, 2017, 3:10 p.m. UTC | #3
On Mon, 2017-07-24 at 08:46 -0600, Jens Axboe wrote:
> On 07/21/2017 11:11 AM, Bart Van Assche wrote:
> > This patch fixes the following sparse warnings:
> > 
> > drivers/block/xen-blkfront.c:916:45: warning: incorrect type in argument 2 (different base types)
> > drivers/block/xen-blkfront.c:916:45:    expected restricted blk_status_t [usertype] error
> > drivers/block/xen-blkfront.c:916:45:    got int [signed] error
> > drivers/block/xen-blkfront.c:1599:47: warning: incorrect type in assignment (different base types)
> > drivers/block/xen-blkfront.c:1599:47:    expected int [signed] error
> > drivers/block/xen-blkfront.c:1599:47:    got restricted blk_status_t [usertype] <noident>
> > drivers/block/xen-blkfront.c:1607:55: warning: incorrect type in assignment (different base types)
> > drivers/block/xen-blkfront.c:1607:55:    expected int [signed] error
> > drivers/block/xen-blkfront.c:1607:55:    got restricted blk_status_t [usertype] <noident>
> > drivers/block/xen-blkfront.c:1625:55: warning: incorrect type in assignment (different base types)
> > drivers/block/xen-blkfront.c:1625:55:    expected int [signed] error
> > drivers/block/xen-blkfront.c:1625:55:    got restricted blk_status_t [usertype] <noident>
> > drivers/block/xen-blkfront.c:1628:62: warning: restricted blk_status_t degrades to integer
> > 
> > Compile-tested only.
> 
> Applied, but I killed your stable tag. Why did you add that?

Hello Jens,

That tag was added based on the output of git describe:
$ git describe 2a842acab109
v4.12-rc2-199-g2a842acab109

However, the following command shows that the above output is misleading and that the
stable tag is indeed not needed:
$ git log v4.12..origin/master | grep '^commit 2a842acab109'            
commit 2a842acab109f40f0d7d10b38e9ca88390628996

Bart.
Omar Sandoval July 24, 2017, 9:20 p.m. UTC | #4
On Mon, Jul 24, 2017 at 03:10:09PM +0000, Bart Van Assche wrote:
> On Mon, 2017-07-24 at 08:46 -0600, Jens Axboe wrote:
> > On 07/21/2017 11:11 AM, Bart Van Assche wrote:
> > > This patch fixes the following sparse warnings:
> > > 
> > > drivers/block/xen-blkfront.c:916:45: warning: incorrect type in argument 2 (different base types)
> > > drivers/block/xen-blkfront.c:916:45:    expected restricted blk_status_t [usertype] error
> > > drivers/block/xen-blkfront.c:916:45:    got int [signed] error
> > > drivers/block/xen-blkfront.c:1599:47: warning: incorrect type in assignment (different base types)
> > > drivers/block/xen-blkfront.c:1599:47:    expected int [signed] error
> > > drivers/block/xen-blkfront.c:1599:47:    got restricted blk_status_t [usertype] <noident>
> > > drivers/block/xen-blkfront.c:1607:55: warning: incorrect type in assignment (different base types)
> > > drivers/block/xen-blkfront.c:1607:55:    expected int [signed] error
> > > drivers/block/xen-blkfront.c:1607:55:    got restricted blk_status_t [usertype] <noident>
> > > drivers/block/xen-blkfront.c:1625:55: warning: incorrect type in assignment (different base types)
> > > drivers/block/xen-blkfront.c:1625:55:    expected int [signed] error
> > > drivers/block/xen-blkfront.c:1625:55:    got restricted blk_status_t [usertype] <noident>
> > > drivers/block/xen-blkfront.c:1628:62: warning: restricted blk_status_t degrades to integer
> > > 
> > > Compile-tested only.
> > 
> > Applied, but I killed your stable tag. Why did you add that?
> 
> Hello Jens,
> 
> That tag was added based on the output of git describe:
> $ git describe 2a842acab109
> v4.12-rc2-199-g2a842acab109
> 
> However, the following command shows that the above output is misleading and that the
> stable tag is indeed not needed:
> $ git log v4.12..origin/master | grep '^commit 2a842acab109'            
> commit 2a842acab109f40f0d7d10b38e9ca88390628996
> 
> Bart.

You want git tag --contains:

$ git tag --contains 2a842acab109
v4.13-rc1
v4.13-rc2
diff mbox

Patch

diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index c852ed3c01d5..1799bba74390 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -111,7 +111,7 @@  struct blk_shadow {
 };
 
 struct blkif_req {
-	int	error;
+	blk_status_t	error;
 };
 
 static inline struct blkif_req *blkif_req(struct request *rq)
@@ -1616,7 +1616,7 @@  static irqreturn_t blkif_interrupt(int irq, void *dev_id)
 			if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
 				printk(KERN_WARNING "blkfront: %s: %s op failed\n",
 				       info->gd->disk_name, op_name(bret->operation));
-				blkif_req(req)->error = -EOPNOTSUPP;
+				blkif_req(req)->error = BLK_STS_NOTSUPP;
 			}
 			if (unlikely(bret->status == BLKIF_RSP_ERROR &&
 				     rinfo->shadow[id].req.u.rw.nr_segments == 0)) {