[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20181026020034.GA25933@ming.t460p>
Date: Fri, 26 Oct 2018 10:00:35 +0800
From: Ming Lei <ming.lei@...hat.com>
To: Rui Salvaterra <rsalvaterra@...il.com>
Cc: axboe@...nel.dk, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: Bug: swap discard issue with zram caused by "block: don't deal
with discard limit in blkdev_issue_discard()"
On Thu, Oct 25, 2018 at 05:09:32PM +0100, Rui Salvaterra wrote:
> Hi,
>
> After commit 744889b7cbb56a64f957e65ade7cb65fe3f35714, I started
> getting this (-EIO, it seems) on my dmesg:
>
> swapon: discard_swap(00000000c275f02d): -5
>
> This is an 8 GB zram swap device. It's configured like this:
>
> modprobe zram
> echo zstd > /sys/block/zram0/comp_algorithm
> echo 8297508864 > /sys/block/zram0/disksize
> mkswap /dev/zram0
> swapon -d -p 100 /dev/zram0
>
> I should note that if I use --discard=pages instead of -d (both
> policies) at swapon, I don't get this error.
> Reverting the commit from v4.19 final fixes the error for me, but
> surely breaks something else. :)
> Let me know if you need any additional information.
The reason is that zram doesn't call blk_queue_split() in .make_request_fn, :-(
Then the similar logic in blk_queue_split() has to be duplicated somewhere,
such as __blkdev_issue_discard().
I will post a patch for you soon.
Thanks,
Ming
Powered by blists - more mailing lists