To easily track filesystem from a pmem device, we introduce a holder for
dax_device structure, and also its operation. This holder is used to
remember who is using this dax_device:
- When it is the backend of a filesystem, the holder will be the
instance of this filesystem.
- When this pmem d
In order to introduce dax holder registration, we need a write lock for
dax. The write operation is per dax device job. So, the global lock is
not suitable. Change the current lock to percpu_rw_semaphore and introduce
a write lock for registration.
Signed-off-by: Shiyang Ruan
---
drivers/dax/
Introduce a FS_DAX_MAPPING_COW flag to support association with CoW file
mappings. In this case, the dax-RMAP already takes the responsibility
to look up for shared files by given dax page. The page->mapping is no
longer to used for rmap but for marking that this dax page is shared.
And to make s
The function name has been changed, so the description should be updated
too.
Signed-off-by: Shiyang Ruan
---
fs/dax.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/dax.c b/fs/dax.c
index 1f46810d4b68..2ee2d5a525ee 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -390,7 +390,7 @@
When memory-failure occurs, we call this function which is implemented
by each kind of devices. For the fsdax case, pmem device driver
implements it. Pmem device driver will find out the filesystem in which
the corrupted page located in.
With dax_holder notify support, we are able to notify the
Introduce xfs_notify_failure.c to handle failure related works, such as
implement ->notify_failure(), register/unregister dax holder in xfs, and
so on.
If the rmap feature of XFS enabled, we can query it to find files and
metadata which are associated with the corrupt data. For now all we do
is k
This function is called at the end of RMAP routine, i.e. filesystem
recovery function, to collect and kill processes using a shared page of
DAX file. The difference with mf_generic_kill_procs() is, it accepts
file's (mapping,offset) instead of struct page because different files'
mappings and offs
The current dax_lock_page() locks dax entry by obtaining mapping and
index in page. To support 1-to-N RMAP in NVDIMM, we need a new function
to lock a specific dax entry corresponding to this file's mapping,index.
And output the page corresponding to the specific dax entry for caller
use.
Signed-
memory_failure_dev_pagemap code is a bit complex before introduce RMAP
feature for fsdax. So it is needed to factor some helper functions to
simplify these code.
Signed-off-by: Shiyang Ruan
Reviewed-by: Darrick J. Wong
Reviewed-by: Christoph Hellwig
---
mm/memory-failure.c | 141 +
Since it is not a DAX-specific function, move it into mm and rename it
to be a generic helper.
Signed-off-by: Shiyang Ruan
---
fs/dax.c | 12 +---
include/linux/mm.h | 13 +
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index b
This patchset is aimed to support shared pages tracking for fsdax.
Changes from V8 Resend:
- Fix usage of dax write/read lock
- Remove fsdax/xfs register/unregister wrappers
- Move unrelated fixes into separate patchset
- Fix code style
Changes from V8:
- Rebased to "decouple DAX from b
11 matches
Mail list logo