summaryrefslogtreecommitdiffstats
path: root/lib/libgssapi
diff options
context:
space:
mode:
authoravg <avg@FreeBSD.org>2016-04-12 06:56:35 +0000
committeravg <avg@FreeBSD.org>2016-04-12 06:56:35 +0000
commit43050e97c28ae0431ded06bb13f0b210583dccbd (patch)
tree7f92d16592cc86b8b0d39ce5784523d6cd1eec5f /lib/libgssapi
parent665a947e1b063db724d08bb6e1557bf9d293d0d1 (diff)
downloadFreeBSD-src-43050e97c28ae0431ded06bb13f0b210583dccbd.zip
FreeBSD-src-43050e97c28ae0431ded06bb13f0b210583dccbd.tar.gz
l2arc: make sure that all writes honor ashift of a cache device
Previously uncompressed buffers did not obey that rule. Type of b_asize is changed to uint64_t for consistency, given that this is a zeta-byte filesystem. l2arc_compress_buf is renamed to l2arc_transform_buf to better reflect its new utility. Now not only we ensure that a compressed buffer has a size aligned to ashift, but we also allocate a properly sized temporary buffer if the original buffer is not compressed and it has an odd size. This ensures that all I/O to the cache device is always ashift-aligned, in terms of both a request offset and a request size. If the aligned data is larger than the original data, then we have to use a temporary buffer when reading it as well. Also, enhance physical zio alignment checks using vdev_logical_ashift. On FreeBSD we have this information, so we can make stricter assertions. Reviewed by: smh, mav MFC after: 1 month Sponsored by: ClusterHQ Differential Revision: https://reviews.freebsd.org/D2789
Diffstat (limited to 'lib/libgssapi')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud