2024-04-29 21:31:27

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [EXTERNAL] [PATCH v3 05/12] cifs: drop usage of page_file_offset

On Mon, Apr 29, 2024 at 08:19:31PM +0000, Steven French wrote:
> Wouldn't this make it harder to fix the regression when swap file support was temporarily removed from cifs.ko (due to the folio migration)? I was hoping to come back to fixing swapfile support for cifs.ko in 6.10-rc (which used to pass the various xfstests for this but code got removed with folios/netfs changes).

It was neither the folio conversion nor the netfs conversion which
removed the claim of swap support from cifs, but NeilBrown's
introduction of ->swap_rw. In commit e1209d3a7a67 he claims that

Only two filesystems set SWP_FS_OPS:
- cifs sets the flag, but ->direct_IO always fails so swap cannot work.
- nfs sets the flag, but ->direct_IO calls generic_write_checks()
which has failed on swap files for several releases.

As I recall the xfstests only checked that swapon/swapoff works; they
don't actually test that writing to swap and reading back from it work.


2024-04-30 02:23:23

by Steven French

[permalink] [raw]
Subject: RE: [EXTERNAL] [PATCH v3 05/12] cifs: drop usage of page_file_offset

Makes sense - I will try to look at this fixing the swapon and reading from swap over smb3.1.1 mounts in the next few weeks, but if you have a good example of sample code (from one of the other FS that does this well) that would help.

-----Original Message-----
From: Matthew Wilcox <[email protected]>
Sent: Monday, April 29, 2024 3:26 PM
To: Steven French <[email protected]>
Cc: Kairui Song <[email protected]>; [email protected]; Andrew Morton <[email protected]>; Huang, Ying <[email protected]>; Chris Li <[email protected]>; Barry Song <[email protected]>; Ryan Roberts <[email protected]>; Neil Brown <[email protected]>; Minchan Kim <[email protected]>; Hugh Dickins <[email protected]>; David Hildenbrand <[email protected]>; Yosry Ahmed <[email protected]>; [email protected]; [email protected]; Namjae Jeon <[email protected]>; Paulo Alcantara (SUSE) <[email protected]>; Shyam Prasad <[email protected]>; Bharath S M <[email protected]>
Subject: Re: [EXTERNAL] [PATCH v3 05/12] cifs: drop usage of page_file_offset

On Mon, Apr 29, 2024 at 08:19:31PM +0000, Steven French wrote:
> Wouldn't this make it harder to fix the regression when swap file support was temporarily removed from cifs.ko (due to the folio migration)? I was hoping to come back to fixing swapfile support for cifs.ko in 6.10-rc (which used to pass the various xfstests for this but code got removed with folios/netfs changes).

It was neither the folio conversion nor the netfs conversion which removed the claim of swap support from cifs, but NeilBrown's introduction of ->swap_rw. In commit e1209d3a7a67 he claims that

Only two filesystems set SWP_FS_OPS:
- cifs sets the flag, but ->direct_IO always fails so swap cannot work.
- nfs sets the flag, but ->direct_IO calls generic_write_checks()
which has failed on swap files for several releases.

As I recall the xfstests only checked that swapon/swapoff works; they don't actually test that writing to swap and reading back from it work.