Avoid abort() in vn_rdwr(): libzpool/kernel.c

Make sure that buffer is aligned to 512 bytes on linux so that
pread call combined with O_DIRECT does not return EINVAL.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1570
This commit is contained in:
Mike Leddy 2013-07-04 01:02:05 -03:00 committed by Brian Behlendorf
parent b4f7f10527
commit 5d3dc3fb72

View File

@ -2844,7 +2844,7 @@ zdb_read_block(char *thing, spa_t *spa)
psize = size; psize = size;
lsize = size; lsize = size;
pbuf = umem_alloc(SPA_MAXBLOCKSIZE, UMEM_NOFAIL); pbuf = umem_alloc_aligned(SPA_MAXBLOCKSIZE, 512, UMEM_NOFAIL);
lbuf = umem_alloc(SPA_MAXBLOCKSIZE, UMEM_NOFAIL); lbuf = umem_alloc(SPA_MAXBLOCKSIZE, UMEM_NOFAIL);
BP_ZERO(bp); BP_ZERO(bp);