From: "Marcin Mirosław" <marcin@mejor.pl>
To: Kent Overstreet <kent.overstreet@gmail.com>
Cc: linux-bcache@vger.kernel.org
Subject: Re: Error after filling up fileystem (resend to correct email)
Date: Tue, 29 Mar 2016 14:38:43 +0200 [thread overview]
Message-ID: <56FA7753.5060806@mejor.pl> (raw)
In-Reply-To: <20160329111747.GA11536@kmo-pixel>
W dniu 29.03.2016 o 13:17, Kent Overstreet pisze:
> On Tue, Mar 29, 2016 at 12:41:27PM +0200, Marcin Mirosław wrote:
>> Hi!
>>
>> Because I don't know what features should work I think it's better to
>> report a bug than do nothing.
>> I created fs, mounted, then I changed compression (via sysfs) to lz4.
>> Next I copied portage tree to filesystem. Then I started to think why
>> "compression_stats" shows that data are compressed but `df` shows values
>> that looks like data are uncompressed:
>> cat compression_stats
>> uncompressed data:
>> nr extents: 1976
>> size (bytes): 1784832
>> compressed data:
>> nr extents: 282264
>> compressed size (bytes): 346365952
>> uncompressed size (bytes): 6398948352
>
> Yeah, I don't have the code yet to distinguish between compressed/uncompressed
> size in the various usage stuff. It's coming.
Ok, thanks for info.
>> df -h:
>> Filesystem Size Used Avail Use% Mounted on
>> /dev/mapper/system10-bcacheportage 4.0G 4.0G 82M 99% /usr/portage
>>
>> So I started to create file filled with zeroes: `dd if=/dev/zero
>> of=/path/file bs=1M". I filled up filesystem. Then I run `emerge` and I
>> got I/O error. In dmesg I see:
>>
>> [ 4466.898819] kworker/u8:0: page allocation failure: order:4,
>> mode:0x2404000
>
> The lz4 code is unfinished - as you can see it doesn't gracefully handle memory
> allocation failures yet. The gzip compression code does handle allocation
> failures, but won't get as good a compression ratio (because it's doing the
> compression in smaller chunks).
>
> At some point I need to dig into the lz4 code and come up with a version that
> doesn't require contiguous buffers, but that's going to be difficult.
>
>> Accesing this file with zeroes throws I/O error, it looks that other
>> files are accesible. After removing this file with zeroes free space is
>> not returned.
>
> Odd.. probably something to do with how the pagecache handles IO errors, I'm
> guessing.
When I did test with filling up free space and I didn't had I/O error
then free space was calculated correctly.
> You should have been able to still read the data later (after clearing the error
> in the pagecache somehow, a drop_caches might do it).
>
> I'll bump the lz4 stuff higher up on the list, I want to use it myself.
Great! gzip is slow for me (at least used with zfs).
Thanks,
Marcin
prev parent reply other threads:[~2016-03-29 12:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-29 10:41 Error after filling up fileystem (resend to correct email) Marcin Mirosław
2016-03-29 11:17 ` Kent Overstreet
2016-03-29 12:38 ` Marcin Mirosław [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56FA7753.5060806@mejor.pl \
--to=marcin@mejor.pl \
--cc=kent.overstreet@gmail.com \
--cc=linux-bcache@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox