Commit d53545ef authored by Daniel Verkamp's avatar Daniel Verkamp
Browse files

bdev: fix alignment math in spdk_bdev_io_set_buf()



Rather than adding the full alignment size (512), add one less than the
alignment so that already-aligned buffers don't get rounded up again.

Change-Id: I96323b848bfb90f2aa1774b869e2b8a81d253077
Reported-by: Shuhei Matsumoto
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/418879


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 58d8a456
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -393,7 +393,7 @@ spdk_bdev_io_set_buf(struct spdk_bdev_io *bdev_io, void *buf, size_t len)
	}

	if (buf != NULL) {
		aligned_buf = (void *)(((uintptr_t)buf + 512) & ~511UL);
		aligned_buf = (void *)(((uintptr_t)buf + 511) & ~511UL);
		len = len - ((uintptr_t)aligned_buf - (uintptr_t)buf);
	} else {
		aligned_buf = NULL;