All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Ts'o <tytso@mit.edu>
To: Eric Whitney <enwlinux@gmail.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: generic/224 failures on 4.5 - encrypted test case
Date: Tue, 15 Mar 2016 18:13:56 -0400	[thread overview]
Message-ID: <20160315221356.GC23848@thunk.org> (raw)
In-Reply-To: <20160315213727.GA2635@localhost.localdomain>

On Tue, Mar 15, 2016 at 05:37:27PM -0400, Eric Whitney wrote:
> The test fails relatively rarely - about one in ten trials.  The set of
> reported kernel errors varies considerably from run to run.  The one constant
> is an ENOSPC complaint from ext4_bio_write_page() which appears whether the
> test passes or fails.
>
> [   18.146614] ext4_bio_write_page: ret = -12
>

-12 is not ENOSPC; it's ENOMEM.   (ENOSPC is 28).

So basically we're hitting a case where generic/224 is submitting data
so quickly that we can't handle it fast enough.  I suspect the call
path is that we're inside the jbd2_commit(), and we're calling
journal_submit_data_buffers(), which ends up calling
ext4_writepages(), and this is returning the ENOMEM.  Unfortunately
we're not providing a better message there, and we just return
jbd2_journal_abort() if journal_submit_data_buffers() fails.

I suspect what we need to do is to pass down a flag through
ext4_bio_write_page() and ext4_encrypt() so that in the case where we
are doing a data integrity sync, that we have to use GFP_NOFAIL in our
data allocations in the fs/ext4/crypto.c.

							- Ted

      reply	other threads:[~2016-03-15 22:13 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-15 21:37 generic/224 failures on 4.5 - encrypted test case Eric Whitney
2016-03-15 22:13 ` Theodore Ts'o [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=20160315221356.GC23848@thunk.org \
    --to=tytso@mit.edu \
    --cc=enwlinux@gmail.com \
    --cc=linux-ext4@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.