Adding option to write new objects into cache tier

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm interesting in adding a new cache tier pool option which writes new objects directly into the cache tier, rather than the
current behaviour of writing them into the base tier. With Bluestore it appears new objects are not buffered into flash. Also writes
larger than 64KB are not buffered into flash, although this behaviour can be tuned to increase the threshold, I would like to test
utilising the cache tier to accelerate writes of new data to solve both these issues.

>From memory, before proxy writes became a thing, new objects ended up in the cache tier, so I don't believe this is a difficult task
to implement. From what I can see a simple IF statement around here to detect if the object currently exists or not:

https://github.com/ceph/ceph/blob/master/src/osd/PrimaryLogPG.cc#L2852

then call promote_object() and then return something like "cache_result_t::BLOCKED_PROMOTE" would probably do what I'm asking.

Ie, like in Hammer, pre proxy_write land:
https://github.com/ceph/ceph/blob/v0.94.10/src/osd/ReplicatedPG.cc#L1839


Would somebody be able to assist:

1. Am I on the right track, skipping the proxy_write function call?
2. If so, what condition should I be checking for, to detect a new object condition?
3. Assuming I include all the relevant pool options in a PR, would this be something that would be welcome?

Thanks,
Nick




[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux