Andriy, Looking now.
Thanks, George On Wed, Aug 26, 2015 at 10:05 AM, Andriy Gapon <nore...@csiden.org> wrote: > This is an automatically generated e-mail. To reply, visit: > https://reviews.csiden.org/r/229/ > > On June 19th, 2015, 12:09 a.m. EEST, *Matthew Ahrens* wrote: > > Looks good to me. Would like to see review from Saso and George as well. > > George, Saso, ping. > > > - Andriy > > On June 25th, 2015, 3:34 p.m. EEST, Andriy Gapon wrote: > Review request for OpenZFS Developer Mailing List, Justin Gibbs, George > Wilson, Matthew Ahrens, and Saso Kiselkov. > By Andriy Gapon. > > *Updated June 25, 2015, 3:34 p.m.* > *Bugs: * 5219 <https://www.illumos.org/issues/5219> > *Repository: * illumos-gate > Description > > *NOTE: this review request supercedes #112 > <https://reviews.csiden.org/r/112/>.* > > If we don't account for that, then we might end up overwriting disk > area of buffers that have not been evicted yet, because l2arc_evict > operates in terms of disk addresses. > > The discrepancy between the write size calculation and the actual increment > to l2ad_hand was introduced in > commit aad02571bc59671aa3103bb070ae365f531b0b62 > <https://github.com/illumos/illumos-gate/commit/aad02571bc59671aa3103bb070ae365f531b0b62> > > The change that introduced l2ad_hand alignment was almost correct > as the write size was accumulated as a sum of rounded buffer sizes. > See commit e14bb3258d05c1b1077e2db7cf77088924e56919 > <https://github.com/illumos/illumos-gate/commit/e14bb3258d05c1b1077e2db7cf77088924e56919> > > Also, we now consistently use asize / a_sz for the allocated size and > psize / p_sz for the physical size. > The latter accounts for a possible size reduction because of the compression, > whereas the former accounts for a possible subsequent size expansion > because of the alignment requirements. > > The code still assumes that either underlying storage subsystems or > hardware is able to do read-modify-write when an L2ARC buffer size is > not a multiple of a disk's block size. This is true for 4KB sector disks > that provide 512B sector emulation, but may not be true in general. > In other words, we currently do not have any code to make sure that > an L2ARC buffer, whether compressed or not, which is used for physical I/O > has a suitable size. > > Note that currently the cache device utilization is calculated based > on the physical size, not the allocated size. The same applies to l2_asize > kstat. That is wrong, but this commit does not fix that. > The accounting problem was introduced partially in > commit aad02571bc59671aa3103bb070ae365f531b0b62 > <https://github.com/illumos/illumos-gate/commit/aad02571bc59671aa3103bb070ae365f531b0b62> > and partially in 3038a2b421b40dc5ac11cd88423696618584f85a > <https://github.com/illumos/illumos-gate/commit/3038a2b421b40dc5ac11cd88423696618584f85a> > (accounting became consistent but in favour of the wrong size). > > Testing > > FreeBSD and Linux. > > Diffs > > - usr/src/uts/common/fs/zfs/arc.c > (09d2e1dd8fdf6648d863d4c036c16b3f7981dbf5) > > View Diff <https://reviews.csiden.org/r/229/diff/> >
_______________________________________________ developer mailing list developer@open-zfs.org http://lists.open-zfs.org/mailman/listinfo/developer