From: Gionatan Danti <g.danti@assyoma.it>
To: Brian Foster <bfoster@redhat.com>
Cc: linux-xfs@vger.kernel.org, g.danti@assyoma.it
Subject: Re: Shutdown filesystem when a thin pool become full
Date: Tue, 20 Jun 2017 17:55:26 +0200 [thread overview]
Message-ID: <d30c96bafa9d476e1a381a0aaa1bc285@assyoma.it> (raw)
In-Reply-To: <20170620152858.GA3348@bfoster.bfoster>
Il 20-06-2017 17:28 Brian Foster ha scritto:
>
> FWIW, I played with something like this a while ago. See the following
> (and its predecessor for a more detailed cover letter):
>
> http://oss.sgi.com/pipermail/xfs/2016-April/048166.html
>
> You lose some allocation efficiency with this approach because XFS
> relies on a worst case allocation reservation in dm-thin, but IIRC that
> only really manifested when the volume was near ENOSPC. If one finds
> that tradeoff acceptable, I think it's otherwise possible to forward
> ENOSPC from the the block device earlier than is done currently.
>
> Brian
Very informative thread, thanks for linking. From here [1]:
"That just doesn't help us avoid the overprovisioned situation where we
have data in pagecache and nowhere to write it back to (w/o setting the
volume read-only). The only way I'm aware of to handle that is to
account for the space at write time."
I fully understand that: after all, writes sitting in pagecaches are
not, well, yet written. I can also imagine what profound ramifications
would have to correctly cover any failed data writeout corner case. What
would be a great first step, however, is that at the *first* failed data
writeout due to full thin pool, a ENOSPC (or similar) to be returned to
the filesystem. Catching this situation, the filesystem can reject any
further buffered writes until manual intervention.
Well, my main concern is to avoid sunstained writes to a filled pool,
surely your patch target a whole bigger (and better!) solution.
[1] http://oss.sgi.com/pipermail/xfs/2016-April/048378.html
>
>> >
>> > I am not really a device-mapper developer and I don't know much about
>> > its code
>> > in depth. But, I know it will issue warnings when there isn't more space
>> > left,
>> > and you can configure a watermark too, to warn the admin when the space
>> > used
>> > reaches that watermark.
>> >
>> > By now, I believe the best solution is to have a reasonable watermark
>> > set on the
>> > thin device, and the Admin take the appropriate action whenever this
>> > watermark
>> > is achieved.
>>
>> Yeah, lvmthin *will* return appropriate warnings during pool filling.
>> However, this require active monitoring which, albeit a great idea and
>> "the
>> right thing to do (tm)", it adds complexity and can itself fail. In
>> recent
>> enought (experimental) versions, lvmthin can be instructed to execute
>> specific actions when data allocation is higher than some threshold,
>> which
>> somewhat addresses my concerns at the block layer.
>>
>> Thank you for your patience and sharing, Carlos.
>>
>> --
>> Danti Gionatan
>> Supporto Tecnico
>> Assyoma S.r.l. - www.assyoma.it
>> email: g.danti@assyoma.it - info@assyoma.it
>> GPG public key ID: FF5F32A8
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-xfs"
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Danti Gionatan
Supporto Tecnico
Assyoma S.r.l. - www.assyoma.it
email: g.danti@assyoma.it - info@assyoma.it
GPG public key ID: FF5F32A8
next prev parent reply other threads:[~2017-06-20 16:06 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-22 14:25 Shutdown filesystem when a thin pool become full Gionatan Danti
2017-05-22 23:09 ` Carlos Maiolino
2017-05-23 10:56 ` Gionatan Danti
2017-05-23 11:01 ` Gionatan Danti
2017-05-23 12:27 ` Carlos Maiolino
2017-05-23 20:05 ` Gionatan Danti
2017-05-23 21:33 ` Eric Sandeen
2017-05-24 17:52 ` Gionatan Danti
2017-06-13 9:09 ` Gionatan Danti
2017-06-15 11:51 ` Gionatan Danti
2017-06-15 13:14 ` Carlos Maiolino
2017-06-15 14:10 ` Carlos Maiolino
2017-06-15 15:04 ` Gionatan Danti
2017-06-20 10:19 ` Gionatan Danti
2017-06-20 11:05 ` Carlos Maiolino
2017-06-20 15:03 ` Gionatan Danti
2017-06-20 15:28 ` Brian Foster
2017-06-20 15:34 ` Luis R. Rodriguez
2017-06-20 17:01 ` Brian Foster
2017-06-20 15:55 ` Gionatan Danti [this message]
2017-06-20 17:02 ` Brian Foster
2017-06-20 18:43 ` Gionatan Danti
2017-06-21 9:44 ` Carlos Maiolino
2017-06-21 10:39 ` Gionatan Danti
2017-06-21 9:53 ` Brian Foster
2017-05-23 12:11 ` Carlos Maiolino
2017-05-23 13:24 ` Eric Sandeen
2017-05-23 20:23 ` Gionatan Danti
2017-05-24 7:38 ` Carlos Maiolino
2017-05-24 17:50 ` Gionatan Danti
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=d30c96bafa9d476e1a381a0aaa1bc285@assyoma.it \
--to=g.danti@assyoma.it \
--cc=bfoster@redhat.com \
--cc=linux-xfs@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;
as well as URLs for NNTP newsgroup(s).