Linux 6.18 Will Further Complicate Non-GPL Out-Of-Tree File-Systems
([Linux Storage] 5 Hours Ago
write_cache_pages Removed)
- Reference: 0001576373
- News link: https://www.phoronix.com/news/Linux-6.18-write-cache-pages
- Source link:
Out-of-tree file-system drivers not licensed/compatible with the GPL will have a new obstacle to deal with come time for [1]Linux 6.18 later this year.
A patch queued up this week in advance of the Linux 6.18 merge window opening removes write_cache_pages. In turn this will cause issues for non-GPL out-of-tree file-systems for writing dirty data from the page cache. After the NTFS3 and Bcachefs in-tree users of the iterator were moved off of it, for Linux 6.18 the "write_cache_pages" will be removed that is depended upon by out-of-tree, non-GPL file-systems.
[2]This patch from Christoph Hellwig is what's now in linux-next ahead of Linux 6.18 and kills off the write_cache_pages now that there are no longer any in-tree users.
The out-of-tree OpenZFS file-system is among the [3]users of write_cache_pages.
The Phoronix reader who pointed me to this pending conflict with out-of-tree file-system drivers commented in a message:
"With the removal of both file_operation.writepage and write_cache_pages() it is no longer possible for out-of-tree non-GPL filesystems to write dirty pages out of the page cache.
It might be possible to use non-RCU interfaces to walk the internal xarray to search for dirty pages to write but that would be a major layer violation. Not to mention performance would be severely impacted."
We'll see how the situation plays out in the coming weeks/months with the stable Linux 6.18 kernel due out in December.
[1] https://www.phoronix.com/search/Linux+6.18
[2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9c5518f1bacf98b20c3ad0fa5873b4da92122ced
[3] https://github.com/openzfs/zfs/blob/d64711c20205b3ffa6ce1e0495d55207d6bbd80b/module/os/linux/zfs/zpl_file.c#L490
A patch queued up this week in advance of the Linux 6.18 merge window opening removes write_cache_pages. In turn this will cause issues for non-GPL out-of-tree file-systems for writing dirty data from the page cache. After the NTFS3 and Bcachefs in-tree users of the iterator were moved off of it, for Linux 6.18 the "write_cache_pages" will be removed that is depended upon by out-of-tree, non-GPL file-systems.
[2]This patch from Christoph Hellwig is what's now in linux-next ahead of Linux 6.18 and kills off the write_cache_pages now that there are no longer any in-tree users.
The out-of-tree OpenZFS file-system is among the [3]users of write_cache_pages.
The Phoronix reader who pointed me to this pending conflict with out-of-tree file-system drivers commented in a message:
"With the removal of both file_operation.writepage and write_cache_pages() it is no longer possible for out-of-tree non-GPL filesystems to write dirty pages out of the page cache.
It might be possible to use non-RCU interfaces to walk the internal xarray to search for dirty pages to write but that would be a major layer violation. Not to mention performance would be severely impacted."
We'll see how the situation plays out in the coming weeks/months with the stable Linux 6.18 kernel due out in December.
[1] https://www.phoronix.com/search/Linux+6.18
[2] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=9c5518f1bacf98b20c3ad0fa5873b4da92122ced
[3] https://github.com/openzfs/zfs/blob/d64711c20205b3ffa6ce1e0495d55207d6bbd80b/module/os/linux/zfs/zpl_file.c#L490
Alexmitter