-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
L2ARC interaction with Metadata Allocation Class #7743
Comments
Has any code been created for this? |
@allanjude no, I don't believe anyone has started working on this yet. |
As we already have: |
I would add that an option Special and Cache vdevs are I imagine a pool property specifying that any data read from an Special vdev should not go to L2ARC. This property is "read-only compatible". |
I'm reading through the all the issues related to this, but I can't seem to figure out whether or not this issue is actually addressed. It seems like it is, but I don't know enough of the lower-level terminology to say with certainty. |
Yes @mattventura the feature is available as a module parameter as of a release or two ago |
Per recent discussion with @behlendorf and @ahrens , if the Metadata Allocation Class (issue #5182)
special
class is located on a flash device and the system is also using flash for L2ARC, it likely doesn't make sense to cache metadata in the L2ARC, since fetching it from the special device will be just as fast as the L2ARC and avoids writes to the L2ARC. In this case, the L2ARC can be used entirely for caching data from non-special VDEVs instead of metadata.However, using the
secondarycache=data
option implies caching both data and metadata, and there is no way to specify only data should be cached. It probably makes more sense to have an option likesecondarycache=dataonly
, or possiblysecondarycache=nonspecial
to allow L2ARC to cache anything that is not in the special class. The latter would work better with the various options that add/remove other bits from the special class (DDT, small files, etc), so that anything that is not included in thespecial
class will still be cached in L2ARC.It might make sense to default to using
secondarycache=nonspecial
if the special class is on a flash (non-rotational) device.The text was updated successfully, but these errors were encountered: