From: Andiry Xu
This routine allocates and initializes a new vfs inode, and setup
the attributes of corresponding NOVA inode and inode_info.
inode operations are missing now.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 144 +++-
From: Andiry Xu
direct_IO and writepages support.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 24
fs/nova/inode.h | 1 +
2 files changed, 25 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
index 7c10d0e..a30b6aa 100644
--- a/fs/nova/inode.c
+++
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 33 +
fs/nova/inode.h | 2 ++
fs/nova/super.c | 2 ++
3 files changed, 37 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
index
From: Andiry Xu
NOVA appends log entries to the inode log upon metadata change.
NOVA has four kinds of log entries:
File write entry describes a write to a contiguous range of pmem pages,
Dentry describes a file/directory being added or removed from a directory,
Setattr
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 33 +
fs/nova/inode.h | 2 ++
fs/nova/super.c | 2 ++
3 files changed, 37 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
index a30b6aa..29d172a 100644
--- a/fs/nova/inode.c
+++
From: Andiry Xu
NOVA appends log entries to the inode log upon metadata change.
NOVA has four kinds of log entries:
File write entry describes a write to a contiguous range of pmem pages,
Dentry describes a file/directory being added or removed from a directory,
Setattr entry is used for
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/nova.h | 3 +
fs/nova/stats.c | 234
2 files changed, 237 insertions(+)
diff --git a/fs/nova/nova.h b/fs/nova/nova.h
index bf4b6ac..03c4991
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/nova.h | 3 +
fs/nova/stats.c | 234
2 files changed, 237 insertions(+)
diff --git a/fs/nova/nova.h b/fs/nova/nova.h
index bf4b6ac..03c4991 100644
--- a/fs/nova/nova.h
+++
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/journal.c | 55 +++
1 file changed, 55 insertions(+)
diff --git a/fs/nova/journal.c b/fs/nova/journal.c
index 75d590f..f31de97 100644
---
From: Andiry Xu
NOVA uses per-CPU lite journals to provide fast atomicity guarantees
for multi-log appending and multi-word inplace updates.
NOVA uses undo journaling. Each journal is a circular buffer
of 4KB pmem page. Two pointers, journal_head and journal_tail
reside in
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/journal.c | 55 +++
1 file changed, 55 insertions(+)
diff --git a/fs/nova/journal.c b/fs/nova/journal.c
index 75d590f..f31de97 100644
--- a/fs/nova/journal.c
+++ b/fs/nova/journal.c
@@
From: Andiry Xu
NOVA uses per-CPU lite journals to provide fast atomicity guarantees
for multi-log appending and multi-word inplace updates.
NOVA uses undo journaling. Each journal is a circular buffer
of 4KB pmem page. Two pointers, journal_head and journal_tail
reside in the reserved journal
From: Andiry Xu
NOVA uses per-CPU spinlock to protect the journals.
Lite journal initialization consists of two parts:
for a new NOVA instance, hard_init allocates the journal pages.
soft_init initializes the locks and performs journal recovery.
Signed-off-by: Andiry Xu
From: Andiry Xu
Allocate the new inode in a round-robin way.
Extend the inode table if needed.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 40
fs/nova/inode.h | 1 +
2 files changed, 41 insertions(+)
diff
From: Andiry Xu
NOVA uses per-CPU spinlock to protect the journals.
Lite journal initialization consists of two parts:
for a new NOVA instance, hard_init allocates the journal pages.
soft_init initializes the locks and performs journal recovery.
Signed-off-by: Andiry Xu
---
fs/nova/journal.c
From: Andiry Xu
Allocate the new inode in a round-robin way.
Extend the inode table if needed.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 40
fs/nova/inode.h | 1 +
2 files changed, 41 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
From: Andiry Xu
NOVA performs atomic log appending by first appending the entry
to the tail of the log, and then atomically update the log tail pointer.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 162
From: Andiry Xu
NOVA performs atomic log appending by first appending the entry
to the tail of the log, and then atomically update the log tail pointer.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 162 ++
fs/nova/log.h | 4 ++
2 files
From: Andiry Xu
To in-place update a log entry, NOVA starts a lite transaction
to journal the log entry, then performs update and commits the transaction.
Signed-off-by: Andiry Xu
---
fs/nova/inode.h | 12
fs/nova/log.c | 183
From: Andiry Xu
To in-place update a log entry, NOVA starts a lite transaction
to journal the log entry, then performs update and commits the transaction.
Signed-off-by: Andiry Xu
---
fs/nova/inode.h | 12
fs/nova/log.c | 183
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: cdb06e9d8f520c969676e7d6778cffe5894f079f
commit: 7bc04215a66b60e198aecaee8418f6d79fa19faa mt76: add driver code for
MT76x2e
date: 3 months ago
config: x86_64-randconfig-v0-03110120 (attached as .config)
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/journal.c | 108 ++
2 files changed, 109 insertions(+), 1 deletion(-)
create mode 100644 fs/nova/journal.c
diff --git
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
master
head: cdb06e9d8f520c969676e7d6778cffe5894f079f
commit: 7bc04215a66b60e198aecaee8418f6d79fa19faa mt76: add driver code for
MT76x2e
date: 3 months ago
config: x86_64-randconfig-v0-03110120 (attached as .config)
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/journal.c | 108 ++
2 files changed, 109 insertions(+), 1 deletion(-)
create mode 100644 fs/nova/journal.c
diff --git a/fs/nova/Makefile b/fs/nova/Makefile
From: Andiry Xu
NOVA uses lite journal to perform light weight transaction.
Instead of journaling metadata/data changes directly,
NOVA first append updates to each inode's log, and then
journal the log tail pointers to make sure all the logs
are updated atomically. For inode
From: Andiry Xu
NOVA performs writes by appending file write entries to the log.
A file write entry is the metadata of a write operation, and
contains pointers to the data blocks. A single write operation
may append multiple file write entries to the log, if the
allocator
From: Andiry Xu
NOVA uses lite journal to perform light weight transaction.
Instead of journaling metadata/data changes directly,
NOVA first append updates to each inode's log, and then
journal the log tail pointers to make sure all the logs
are updated atomically. For inode creation and
From: Andiry Xu
NOVA performs writes by appending file write entries to the log.
A file write entry is the metadata of a write operation, and
contains pointers to the data blocks. A single write operation
may append multiple file write entries to the log, if the
allocator cannot provide enough
From: Andiry Xu
NOVA appends a setattr entry to the log upon inode modification operations:
set size, chmod, etc.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 64 +++
1 file changed, 64
From: Andiry Xu
NOVA appends a setattr entry to the log upon inode modification operations:
set size, chmod, etc.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 64 +++
1 file changed, 64 insertions(+)
diff --git a/fs/nova/log.c
From: Andiry Xu
After new log entries are appended to the log, old log entries
can be marked invalid to faciliate garbage collection.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 160 +
From: Andiry Xu
After new log entries are appended to the log, old log entries
can be marked invalid to faciliate garbage collection.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 160 +
fs/nova/log.h | 4 ++
fs/nova/nova.h | 12
From: Andiry Xu
NOVA appends link change entries to atomically update link count and ctime.
This occurs in link, unlink and rmdir.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 52
fs/nova/log.h | 3
From: Andiry Xu
NOVA appends link change entries to atomically update link count and ctime.
This occurs in link, unlink and rmdir.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 52
fs/nova/log.h | 3 +++
2 files changed, 55 insertions(+)
From: Andiry Xu
For root directory and newly created directory via mkdir(),
we append . and .. dentries to the directory inode log.
Signed-off-by: Andiry Xu
---
fs/nova/dir.c | 82 +
From: Andiry Xu
For root directory and newly created directory via mkdir(),
we append . and .. dentries to the directory inode log.
Signed-off-by: Andiry Xu
---
fs/nova/dir.c | 82 +
fs/nova/nova.h | 2 ++
fs/nova/super.c | 5
From: Andiry Xu
NOVA uses Hash to quickly locate dentry in the directory inode log.
The key is the hash of the filename, the value is the dentry.
Currently hash collision is ignored, and the radix tree may occupy
large memory space with huge directories. Considering
From: Andiry Xu
NOVA uses Hash to quickly locate dentry in the directory inode log.
The key is the hash of the filename, the value is the dentry.
Currently hash collision is ignored, and the radix tree may occupy
large memory space with huge directories. Considering replacing
it in the future.
From: Andiry Xu
If the inode still have links, release the DRAM resource (radix tree, etc).
Otherwise reclaim data pages and log pages.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 257 +++-
From: Andiry Xu
If the inode still have links, release the DRAM resource (radix tree, etc).
Otherwise reclaim data pages and log pages.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 257 +++-
fs/nova/inode.h | 5 ++
fs/nova/log.h | 7
From: Andiry Xu
After NOVA appends file write entry to commit new writes,
it updates the file offset radix tree, finds the old entries (if overwrite)
and reclaims the stale data blocks.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 108
From: Andiry Xu
After NOVA appends file write entry to commit new writes,
it updates the file offset radix tree, finds the old entries (if overwrite)
and reclaims the stale data blocks.
Signed-off-by: Andiry Xu
---
fs/nova/log.c | 108 +
On Sat, Mar 10, 2018 at 8:15 PM, Dmitry Torokhov
wrote:
> + while (--i >= 0) {
Just in case
while (i--) {
is slightly better to read.
> + bdata = >data[i];
> + if (bdata->button->wakeup)
> +
On Sat, Mar 10, 2018 at 8:15 PM, Dmitry Torokhov
wrote:
> + while (--i >= 0) {
Just in case
while (i--) {
is slightly better to read.
> + bdata = >data[i];
> + if (bdata->button->wakeup)
> + gpio_keys_button_disable_wakeup(bdata);
> +
From: Andiry Xu
NOVA adds or removes a directory/file by appending a dentry
to the parent directory's log. Dentry contains filename and inode number.
A positive inode number indicates a create(valid) dentry, and
a dentry with inode number zero is a remove dentry.
NOVA can
From: Andiry Xu
When vfs issues a read inode command, or when the inode is newly allocated,
walk through the inode log to rebuild inode information and the radix tree.
Signed-off-by: Andiry Xu
---
fs/nova/inode.h | 15 +++
fs/nova/nova.h| 21
From: Andiry Xu
NOVA adds or removes a directory/file by appending a dentry
to the parent directory's log. Dentry contains filename and inode number.
A positive inode number indicates a create(valid) dentry, and
a dentry with inode number zero is a remove dentry.
NOVA can also inplace update a
From: Andiry Xu
When vfs issues a read inode command, or when the inode is newly allocated,
walk through the inode log to rebuild inode information and the radix tree.
Signed-off-by: Andiry Xu
---
fs/nova/inode.h | 15 +++
fs/nova/nova.h| 21
fs/nova/rebuild.c | 329
From: Andiry Xu
Rebuild file inode metadata and radix tree on read_inode.
Signed-off-by: Andiry Xu
---
fs/nova/log.h | 4 ++
fs/nova/rebuild.c | 124 ++
2 files changed, 128 insertions(+)
diff
From: Andiry Xu
Rebuild file inode metadata and radix tree on read_inode.
Signed-off-by: Andiry Xu
---
fs/nova/log.h | 4 ++
fs/nova/rebuild.c | 124 ++
2 files changed, 128 insertions(+)
diff --git a/fs/nova/log.h b/fs/nova/log.h
From: Andiry Xu
NOVA mkdir is similar to create. The difference is NOVA will
allocate log page for the newly created directory, and append
init dentries.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 74
From: Andiry Xu
Rename is the most cpmplex namei operation. The target dir may be
different from the source dir, and the target inode may exist.
Rename involves up to four inodes, and NOVA uses rename transation
to atomically update all the affected inodes.
Signed-off-by:
From: Andiry Xu
NOVA mkdir is similar to create. The difference is NOVA will
allocate log page for the newly created directory, and append
init dentries.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 74 +
1 file changed, 74
From: Andiry Xu
Rename is the most cpmplex namei operation. The target dir may be
different from the source dir, and the target inode may exist.
Rename involves up to four inodes, and NOVA uses rename transation
to atomically update all the affected inodes.
Signed-off-by: Andiry Xu
---
From: Andiry Xu
Similar to unlink.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 105
1 file changed, 105 insertions(+)
diff --git a/fs/nova/namei.c b/fs/nova/namei.c
index 360d716..4bf6396
From: Andiry Xu
Similar to unlink.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 105
1 file changed, 105 insertions(+)
diff --git a/fs/nova/namei.c b/fs/nova/namei.c
index 360d716..4bf6396 100644
--- a/fs/nova/namei.c
+++
From: Andiry Xu
For link change operations, NOVA appends a link change entry
to the affected inode's log, and uses lite transaction to
atomically commit changes to multiple logs.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 159
From: Andiry Xu
For link change operations, NOVA appends a link change entry
to the affected inode's log, and uses lite transaction to
atomically commit changes to multiple logs.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 159
1
From: Andiry Xu
Add notify_change for setattr operations. Truncate the file blocks
if the file is shrunk.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 180
fs/nova/inode.h | 1 +
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 2 ++
fs/nova/namei.c | 5 +
fs/nova/nova.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
index 2092a55..0e9ab4b 100644
--- a/fs/nova/inode.c
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 2 ++
fs/nova/namei.c | 5 +
fs/nova/nova.h | 1 +
3 files changed, 8 insertions(+)
diff --git a/fs/nova/inode.c b/fs/nova/inode.c
index 2092a55..0e9ab4b 100644
--- a/fs/nova/inode.c
+++ b/fs/nova/inode.c
@@ -239,6 +239,7 @@
From: Andiry Xu
Add notify_change for setattr operations. Truncate the file blocks
if the file is shrunk.
Signed-off-by: Andiry Xu
---
fs/nova/inode.c | 180
fs/nova/inode.h | 1 +
fs/nova/namei.c | 2 +
3 files changed, 183
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/super.c | 48
1 file changed, 48 insertions(+)
diff --git a/fs/nova/super.c b/fs/nova/super.c
index daf3270..0847e57 100644
--- a/fs/nova/super.c
+++
From: Andiry Xu
NOVA allocates and initializes a new inode, and appends a dentry
to the directory's log. Then NOVA creates a transaction to
commit both changes atomically: update the directory log tail
pointer and validate the new inode.
Signed-off-by: Andiry Xu
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/file.c | 31 +++
fs/nova/inode.c | 25 +
fs/nova/inode.h | 2 ++
fs/nova/nova.h | 3 +++
5 files changed, 62
From: Andiry Xu
NOVA allocates and initializes a new inode, and appends a dentry
to the directory's log. Then NOVA creates a transaction to
commit both changes atomically: update the directory log tail
pointer and validate the new inode.
Signed-off-by: Andiry Xu
---
fs/nova/namei.c | 141
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/file.c | 31 +++
fs/nova/inode.c | 25 +
fs/nova/inode.h | 2 ++
fs/nova/nova.h | 3 +++
5 files changed, 62 insertions(+), 1 deletion(-)
create mode
From: Andiry Xu
Signed-off-by: Andiry Xu
---
fs/nova/super.c | 48
1 file changed, 48 insertions(+)
diff --git a/fs/nova/super.c b/fs/nova/super.c
index daf3270..0847e57 100644
--- a/fs/nova/super.c
+++ b/fs/nova/super.c
@@ -51,6 +51,7 @@
From: Andiry Xu
NOVA lookup the inode number by searching the radix tree with
the filename hash value and locating the corresponding dentry on the log.
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 3 +-
fs/nova/inode.c | 2 ++
fs/nova/namei.c |
From: Andiry Xu
Search the file radix tree to find hold or data.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 47 +++
fs/nova/inode.c | 113
fs/nova/inode.h | 1 +
From: Andiry Xu
NOVA lookup the inode number by searching the radix tree with
the filename hash value and locating the corresponding dentry on the log.
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 3 +-
fs/nova/inode.c | 2 ++
fs/nova/namei.c | 97
From: Andiry Xu
Search the file radix tree to find hold or data.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 47 +++
fs/nova/inode.c | 113
fs/nova/inode.h | 1 +
fs/nova/nova.h | 1 +
4 files changed, 162
From: Andiry Xu
nova_file_write_item combines a file write item with a list head.
NOVA uses a linked list of file write items to describe a write operation.
Signed-off-by: Andiry Xu
---
fs/nova/super.c | 43 ++-
From: Andiry Xu
nova_file_write_item combines a file write item with a list head.
NOVA uses a linked list of file write items to describe a write operation.
Signed-off-by: Andiry Xu
---
fs/nova/super.c | 43 ++-
fs/nova/super.h | 3 +++
2 files
From: Andiry Xu
NOVA persists file metadata and data before returning to the user space.
Hence, fsync is a no-op if the file is not mmaped.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 50 ++
1 file
From: Andiry Xu
NOVA persists file metadata and data before returning to the user space.
Hence, fsync is a no-op if the file is not mmaped.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 50 ++
1 file changed, 50 insertions(+)
diff --git
From: Andiry Xu
Given a list of file write items, NOVA commits them by appending
each file write entry to the log, and then updates the radix tree
to point to these new entries, and updates log tail pointer to
commit all the writes atomically.
If the items are allocated on
From: Andiry Xu
Given a list of file write items, NOVA commits them by appending
each file write entry to the log, and then updates the radix tree
to point to these new entries, and updates log tail pointer to
commit all the writes atomically.
If the items are allocated on heap, free them on
From: Andiry Xu
NOVA is a DAX file system and does not use page cache.
For read, NOVA looks up the file write entry by searching the radix tree,
and copies data from pmem pages to user buffer directly.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 144
From: Andiry Xu
NOVA is a DAX file system and does not use page cache.
For read, NOVA looks up the file write entry by searching the radix tree,
and copies data from pmem pages to user buffer directly.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 144
From: Andiry Xu
If the file is not mmaped, NOVA performs copy-on-write.
The CoW is composed of parts:
1. Allocate contiguous data pages.
2. Copy data from user buffer to the data pages.
If the write is not aligned to page size, also copy data from existing
pmem pages.
On Wed, Mar 07, 2018 at 12:21:47PM -0800, Dmitry Torokhov wrote:
> Hi Tirupathi,
>
> On Wed, Mar 07, 2018 at 01:39:33PM +0530, Tirupathi Reddy wrote:
> > Add resin key support to handle different types of key events
> > defined in different platforms.
Also, when you say "resin" key, I do not
From: Andiry Xu
If the file is not mmaped, NOVA performs copy-on-write.
The CoW is composed of parts:
1. Allocate contiguous data pages.
2. Copy data from user buffer to the data pages.
If the write is not aligned to page size, also copy data from existing
pmem pages.
3. Allocate and
On Wed, Mar 07, 2018 at 12:21:47PM -0800, Dmitry Torokhov wrote:
> Hi Tirupathi,
>
> On Wed, Mar 07, 2018 at 01:39:33PM +0530, Tirupathi Reddy wrote:
> > Add resin key support to handle different types of key events
> > defined in different platforms.
Also, when you say "resin" key, I do not
On Sat, 10 Mar 2018 09:18:46 -0800
Kees Cook wrote:
> On Sat, Mar 10, 2018 at 12:43 AM, Stefano Brivio wrote:
> > On Sat, 10 Mar 2018 09:40:44 +0200
> > Andreas Christoforou wrote:
> >
> >> diff --git
On Sat, 10 Mar 2018 09:18:46 -0800
Kees Cook wrote:
> On Sat, Mar 10, 2018 at 12:43 AM, Stefano Brivio wrote:
> > On Sat, 10 Mar 2018 09:40:44 +0200
> > Andreas Christoforou wrote:
> >
> >> diff --git a/net/ipv6/xfrm6_state.c b/net/ipv6/xfrm6_state.c
> >> index b15075a..270a53a 100644
> >>
From: Markus Elfring
Date: Sat, 10 Mar 2018 18:53:28 +0100
Use three values directly for a condition check without assigning them
to intermediate variables.
Signed-off-by: Markus Elfring
---
drivers/net/usb/ax88179_178a.c | 13
From: Markus Elfring
Date: Sat, 10 Mar 2018 18:53:28 +0100
Use three values directly for a condition check without assigning them
to intermediate variables.
Signed-off-by: Markus Elfring
---
drivers/net/usb/ax88179_178a.c | 13 ++---
1 file changed, 6 insertions(+), 7 deletions(-)
From: Andiry Xu
If the user specifies inplace updates, or the file is mmaped,
NOVA performs inplace writes.
The trick is dax page fault can occur concurrently with inplace writes,
and allocate new blocks. Also, inplace write memcpy may trigger page fault
(xfstests 248).
From: Andiry Xu
If the user specifies inplace updates, or the file is mmaped,
NOVA performs inplace writes.
The trick is dax page fault can occur concurrently with inplace writes,
and allocate new blocks. Also, inplace write memcpy may trigger page fault
(xfstests 248).
Since page fault may
Hi Will,
On 03/06/2018 09:25 AM, Will Deacon wrote:
> On Mon, Mar 05, 2018 at 12:03:33PM -0600, Shanker Donthineni wrote:
>> On 03/05/2018 11:15 AM, Will Deacon wrote:
>>> On Mon, Mar 05, 2018 at 10:57:58AM -0600, Shanker Donthineni wrote:
On 03/05/2018 09:56 AM, Will Deacon wrote:
> On
From: Andiry Xu
Provide inplace data updates option if people prefer inplace
updates to copy-on-write.
Signed-off-by: Andiry Xu
---
fs/nova/nova.h | 1 +
fs/nova/super.c | 7 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git
Hi Will,
On 03/06/2018 09:25 AM, Will Deacon wrote:
> On Mon, Mar 05, 2018 at 12:03:33PM -0600, Shanker Donthineni wrote:
>> On 03/05/2018 11:15 AM, Will Deacon wrote:
>>> On Mon, Mar 05, 2018 at 10:57:58AM -0600, Shanker Donthineni wrote:
On 03/05/2018 09:56 AM, Will Deacon wrote:
> On
From: Andiry Xu
Provide inplace data updates option if people prefer inplace
updates to copy-on-write.
Signed-off-by: Andiry Xu
---
fs/nova/nova.h | 1 +
fs/nova/super.c | 7 ++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/fs/nova/nova.h b/fs/nova/nova.h
index
From: Andiry Xu
The key of iomap is dax_get_blocks(). It first takes the read lock
and lookup the block; if the block is missing, it takes write lock,
check again and allocate the new block if needed.
Signed-off-by: Andiry Xu
---
fs/nova/dax.c | 184
From: Andiry Xu
NOVA alloates two blocks for symlink inode: One for inode log,
and the other one is a data block, storing symname.
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/inode.c | 2 +
fs/nova/namei.c | 70
From: Andiry Xu
NOVA alloates two blocks for symlink inode: One for inode log,
and the other one is a data block, storing symname.
Signed-off-by: Andiry Xu
---
fs/nova/Makefile | 2 +-
fs/nova/inode.c | 2 +
fs/nova/namei.c | 70
fs/nova/nova.h| 5
From: Andiry Xu
The key of iomap is dax_get_blocks(). It first takes the read lock
and lookup the block; if the block is missing, it takes write lock,
check again and allocate the new block if needed.
Signed-off-by: Andiry Xu
---
fs/nova/dax.c | 184
From: Andiry Xu
Fallocate works similar as writes, allocating zeroed blocked
for the holes in the request region.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 148 +
fs/nova/nova.h | 5 ++
2
From: Andiry Xu
They use the iomap framework to do read/write. Due to software overheads
they are slower than dax read/write.
Signed-off-by: Andiry Xu
---
fs/nova/file.c | 65 ++
1 file changed, 65
201 - 300 of 686 matches
Mail list logo