Out-of-tree file-system drivers not licensed/compatible with the GPL will have a new obstacle to deal with come time for 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.
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 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.