[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171221163055.3943-1-jack@suse.cz>
Date: Thu, 21 Dec 2017 17:30:53 +0100
From: Jan Kara <jack@...e.cz>
To: <linux-ext4@...r.kernel.org>
Cc: Ted Tso <tytso@....edu>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Dan Williams <dan.j.williams@...el.com>,
<linux-fsdevel@...r.kernel.org>, linux-nvdimm@...ts.01.org,
Jan Kara <jack@...e.cz>
Subject: [PATCH 0/2 v2] ext4: Fix ENOSPC handling for DAX faults
Hello,
these two patches fix handling of ENOSPC during DAX faults. The problem is
that currently running transaction may be holding lots of already freed
blocks which can be reallocated only once the transaction commits. Standard
retry logic in ext4_iomap_end() does not work for DAX page fault handler
since we hold current transaction open in ext4_dax_huge_fault() and thus
retry logic cannot force the running transaction and as a result application
gets SIGBUS due to premature ENOSPC error.
Changes since v1:
* Made error passed back from dax_iomap_fault() explicitely be only the error
from ->iomap_begin()
Comments are welcome.
Honza
Powered by blists - more mailing lists