freebsd-nq/sys/geom/bde
Poul-Henning Kamp c7f3baedf3 Fix an obscure fencepost error in GBDE's sector mapping code:
For certain combinations of sectorsize, mediasize and random numbers
(used to define the mapping), a multisector read or write would ignore
some subset of the sectors past the first sector in the request because
those sectors would be mapped past the end of the parent device, and
normal "end of media" truncation would zap that part of the request.

Rev 1.19+1.20 of g_bde_work.c added the check which should have alerted
me to this happening.  This commit maps the request correctly and
adds KASSERTS to make sure things stay inside the parent device.

This does not change the on-disk layout of GBDE, there is no need to
backup/restore.
2003-04-29 19:46:42 +00:00
..
g_bde_crypt.c Fix an obscure fencepost error in GBDE's sector mapping code: 2003-04-29 19:46:42 +00:00
g_bde_lock.c Use sys/endian.h instead of geom_enc.c for endian-agnostfication. 2003-04-03 11:33:51 +00:00
g_bde_work.c Typo in last commit: Do not press xZZ to leave vi(1). 2003-04-29 19:38:55 +00:00
g_bde.c Appearantly UFS no longer issues BIO_DELETE requests correctly, and 2003-04-26 21:39:33 +00:00
g_bde.h Optimize the size of the work-items by letting the mapping function 2003-01-02 19:29:49 +00:00