On Thu, Feb 06, 2020 at 12:43:30PM +0100, Martin Steigerwald wrote:
Hi Naohiro.
Naohiro Aota - 06.02.20, 11:41:54 CET:
This series refactors chunk allocation, device_extent allocation and
extent allocation functions and make them generalized to be able to
implement other allocation policy easily.
On top of this series, we can simplify some part of the "btrfs: zoned
block device support" series as adding a new type of chunk allocator
and extent allocator for zoned block devices. Furthermore, we will be
able to implement and test some other allocator in the idea page of
the wiki e.g. SSD caching, dedicated metadata drive, chunk allocation
groups, and so on.
Regarding SSD caching, are you aware that there has been previous work
with even involved handling part of it in the Virtual Filesystem Switch
(VFS)?
VFS hot-data tracking, LWN article:
https://lwn.net/Articles/525651/
Patchset, not sure whether it is the most recent one:
[PATCH v2 00/12] VFS hot tracking
https://lore.kernel.org/linux-btrfs/1368493184-5939-1-git-send-email-zwu.kernel@xxxxxxxxx/
Yes, I once saw the patchset. Not sure about the detail, though.
So for SSD caching you may be able to re-use or pick up some of this
work, unless it would be unsuitable to be used with this new approach.
Currently, I have no plan to implement the SSD caching feature by
myself. I think some patches of the series like this [1] can be
reworked on my series as adding an "SSD caching chunk allocator." So,
it's welcome to hear suggestions about the hook interface.
[1] https://lore.kernel.org/linux-btrfs/1371817260-8615-3-git-send-email-zwu.kernel@xxxxxxxxx/
Thanks,
--
Martin