[lkml]   [2021]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 01/18] Structural cleanup for filesystem-based swap
On Fri, Dec 17, 2021 at 10:48:22AM +1100, NeilBrown wrote:
> Linux primarily uses IO to block devices for swap, but can send the IO
> requests to a filesystem. This has only ever worked for NFS, and that
> hasn't worked for a while due to a lack of testing. This seems like a
> good time for some tidy-up before restoring swap-over-NFS functionality.

The changes look good to me, but I think this needs to be split into
separate, self-contained patches.

> This patch:

Patch 1:

> - updates the documentation (both copies!) for swap_activate which
> is woefully out-of-date

Patch 2:

> - drops the call to the filesystem for ->set_page_dirty(). These
> pages do not belong to the filesystem, and it has no interest
> in the dirty status.

Patch 3:

> - move the responsibility for setting SWP_FS_OPS to ->swap_activate()
> and also requires it to always call add_swap_extent(). This makes
> it much easier to find filesystems that require SWP_FS_OPS.

Patch 4:

> - introduces a new address_space operation "swap_rw" for swap IO.
> The code currently used ->readpage for reads and ->direct_IO for
> writes. The former imposes a limit of one-page-at-a-time, the
> later means that direct writes and swap writes are encouraged to
> use the same path. While similar, swap can often be simpler as
> it can assume that no allocation is needed, and coherence with the
> page cache is irrelevant.

 \ /
  Last update: 2021-12-21 09:35    [W:0.845 / U:1.236 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site