diff mbox

nbd: use correct div_s64 helper

Message ID 1457135375-1787628-1-git-send-email-arnd@arndb.de
State Accepted
Commit 5e454c67fc594150e6c0da32b388a43d40200759
Headers show

Commit Message

Arnd Bergmann March 4, 2016, 11:49 p.m. UTC
The do_div() macro now checks its arguments for the correct type,
and refuses anything other than u64, so we get a warning about
nbd_ioctl passing in an loff_t:

drivers/block/nbd.c: In function '__nbd_ioctl':
drivers/block/nbd.c:757:77: error: comparison of distinct pointer types lacks a cast [-Werror]

This changes the nbd code to use div_s64() instead, which takes
a signed argument.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Fixes: 37091fdd831f ("nbd: Create size change events for userspace")
---
 drivers/block/nbd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.7.0
diff mbox

Patch

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index f6b51d76e578..08afbc7a2bb8 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -753,8 +753,7 @@  static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd,
 	}
 
 	case NBD_SET_BLKSIZE: {
-		loff_t bsize = nbd->bytesize;
-		do_div(bsize, arg);
+		loff_t bsize = div_s64(nbd->bytesize, arg);
 
 		return nbd_size_set(nbd, bdev, arg, bsize);
 	}