svn commit: r325286 - head/sys/boot/efi/libefi
Toomas Soome
tsoome at FreeBSD.org
Wed Nov 1 18:49:46 UTC 2017
Author: tsoome
Date: Wed Nov 1 18:49:45 2017
New Revision: 325286
URL: https://svnweb.freebsd.org/changeset/base/325286
Log:
efipart_strategy is using wrong offset with >512B sectors
The strategy() calls are assuming 512B sectors, so we need to adjust the
offset accordingly.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D12849
Modified:
head/sys/boot/efi/libefi/efipart.c
Modified: head/sys/boot/efi/libefi/efipart.c
==============================================================================
--- head/sys/boot/efi/libefi/efipart.c Wed Nov 1 18:06:44 2017 (r325285)
+++ head/sys/boot/efi/libefi/efipart.c Wed Nov 1 18:49:45 2017 (r325286)
@@ -877,7 +877,11 @@ efipart_strategy(void *devdata, int rw, daddr_t blk, s
bcd.dv_cache = pd->pd_bcache;
if (dev->d_dev->dv_type == DEVT_DISK) {
- return (bcache_strategy(&bcd, rw, blk + dev->d_offset,
+ daddr_t offset;
+
+ offset = dev->d_offset * pd->pd_blkio->Media->BlockSize;
+ offset /= 512;
+ return (bcache_strategy(&bcd, rw, blk + offset,
size, buf, rsize));
}
return (bcache_strategy(&bcd, rw, blk, size, buf, rsize));
More information about the svn-src-all
mailing list