Re: [PATCH] Don't block writes to swap-files with ETXTBSY.

From: Christoph Hellwig
Date: Fri Aug 27 2021 - 11:16:49 EST


On Thu, Aug 26, 2021 at 09:57:39AM +1000, NeilBrown wrote:
>
> Commit dc617f29dbe5 ("vfs: don't allow writes to swap files")
> broke swap-over-NFS as it introduced an ETXTBSY error when NFS tries to
> swap-out using ->direct_IO().
>
> There is no sound justification for this error. File permissions are
> sufficient to stop non-root users from writing to a swap file, and root
> must always be cautious not to do anything dangerous.
>
> These checks effectively provide a mandatory write lock on swap, and
> mandatory locks are not supported in Linux.
>
> So remove all the checks that return ETXTBSY when attempts are made to
> write to swap.

Swap files are not just any files and do need a mandatory write lock
as they are part of the kernel VM and writing to them will mess up
the kernel badly. David Howells actually has sent various patches
to fix swap over NFS in the last weeks.