[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1459303190-20072-3-git-send-email-vishal.l.verma@intel.com>
Date: Tue, 29 Mar 2016 19:59:47 -0600
From: Vishal Verma <vishal.l.verma@...el.com>
To: linux-nvdimm@...ts.01.org
Cc: Dan Williams <dan.j.williams@...el.com>,
linux-fsdevel@...r.kernel.org, linux-block@...r.kernel.org,
xfs@....sgi.com, linux-ext4@...r.kernel.org, linux-mm@...ck.org,
Matthew Wilcox <matthew.r.wilcox@...el.com>,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Dave Chinner <david@...morbit.com>, Jan Kara <jack@...e.cz>,
Jens Axboe <axboe@...com>, Al Viro <viro@...iv.linux.org.uk>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Christoph Hellwig <hch@...radead.org>
Subject: [PATCH v2 2/5] dax: fallback from pmd to pte on error
From: Dan Williams <dan.j.williams@...el.com>
In preparation for consulting a badblocks list in pmem_direct_access(),
teach dax_pmd_fault() to fallback rather than fail immediately upon
encountering an error. The thought being that reducing the span of the
dax request may avoid the error region.
Signed-off-by: Dan Williams <dan.j.williams@...el.com>
---
fs/dax.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index 90322eb..ec6417b 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -945,8 +945,8 @@ int __dax_pmd_fault(struct vm_area_struct *vma, unsigned long address,
long length = dax_map_atomic(bdev, &dax);
if (length < 0) {
- result = VM_FAULT_SIGBUS;
- goto out;
+ dax_pmd_dbg(&bh, address, "dax-error fallback");
+ goto fallback;
}
if (length < PMD_SIZE) {
dax_pmd_dbg(&bh, address, "dax-length too small");
--
2.5.5
Powered by blists - more mailing lists