2012-10-22 20:58, Brian wrote:
writes are sequential and to a ring buffer. reads of course would not
be sequential, and would be intermixed with writes.
Thanks... Do I get it correctly that if a block from L2ARC is
requested by the readers, then it is fetched from the SSD and
becomes a normal block in the ARC - thus the L2ARC entry won't
be used again for this same block when it expires again from
RAM ARC? Likewise, if the ring buffer is filled up and the
block in L2ARC becomes overwritten, a possible read via the
pointer from ARC to L2ARC fails (checksum mismatch), the pointer
gets invalidated and pool disks get used to read the data from
original source - right? If that all is the case, is there any
sort of "proactive" expiration of values from L2ARC, or it is
just not needed (useful data will travel from L2ARC to ARC and
back again, and useless data will expire by being overwritten
as the ring buffer completes its full cycle)?
> the digital
photography cards probably aren't the fastest flash around, and may not
be designed for a high number of (over)write cycles, but anything that
can be configured as a vdev ought to work as l2arc.
Well, I do photograph a lot and the consumer-grade cards begin
to show deterioration in a couple of years of use. AFAIK the
professional expensive ones also employ redundancy chips and
thus improve speed and reliability - being more of an SSD in
a non-SATA package ;)
can't say how the system will behave if the flash is yanked during i/o.
all the modules involved should handle that condition cleanly but it
doesn't mean the use case will work.
zfs-discuss mailing list