Re: [PATCH] iomap: don't allow holes in swapfiles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 15, 2018 at 11:45:38PM -0700, Omar Sandoval wrote:
> From: Omar Sandoval <osandov@xxxxxx>
> 
> generic_swapfile_activate() doesn't allow holes, so we should be
> consistent here. This is also a bit safer: if the user creates a
> swapfile with, say, truncate -s $SIZE followed by mkswap, they should
> really get an error and not much less swap space than they expected.
> swapon(8) will error out before calling swapon(2) if the file has holes,
> anyways.
> 
> Fixes: 9d93388b0afe ("iomap: add a swapfile activation function")
> Signed-off-by: Omar Sandoval <osandov@xxxxxx>
> ---
> Hey, Darrick, I noticed this while writing up a generic xfstest to test
> that the Btrfs swap support patches don't allow a swapfile with holes.
> It'd be nice if we were all consistent :) This is based on
> xfs-linux/for-next. Feel free to fold it in to your patch or apply it
> separately as you see fit. Thanks!

I sent a testcase of my own ("generic: test swapfile creation,
activation, and deactivation") a while back; would you mind sending out
yours so we can combine them into a single testcase?

>  fs/iomap.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/iomap.c b/fs/iomap.c
> index d193390a1c20..ba559adaa327 100644
> --- a/fs/iomap.c
> +++ b/fs/iomap.c
> @@ -1214,9 +1214,9 @@ static loff_t iomap_swapfile_activate_actor(struct inode *inode, loff_t pos,
>  	struct iomap_swapfile_info *isi = data;
>  	int error;
>  
> -	/* Skip holes. */
> +	/* No holes. */
>  	if (iomap->type == IOMAP_HOLE)
> -		goto out;
> +		goto err;

Ok.  I agree that it looks weird to mount a swap file with holes, so I
guess the least-surprise principle applies here and we should emulate
the old behavior completely.

Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>

--D

>  
>  	/* Only one bdev per swap file. */
>  	if (iomap->bdev != isi->sis->bdev)
> -- 
> 2.17.0
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux