() to translate EEXIST to ENOTEMPTY.
Fixes: 260a980317da ("[AFS]: Add "directory write" support.")
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/afs/d
Add support for caching the content of a file that contains a single
monolithic object that must be read/written with a single I/O operation,
such as an AFS directory.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc
./include/linux/greybus/.__afs3C95: File removed before we read it
The find warning doesn't seem to cause a problem.
Fix this by telling tar when called from in gen_kheaders.sh to exclude such
files. This only affects afs and nfs; cifs uses the Windows Hidden
attribute to prevent the file from
eturn.
Note that this does not try to fix the problem.
Reported-by: syzbot+af5c06208fa71bf31...@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=af5c06208fa71bf31b16
Signed-off-by: David Howells
cc: Chang Yu
Link: https://lore.kernel.org/r/zxshmew4u7mtg...@gmail.com/
cc:
Add a tracepoint for afs_read_receive() to allow potential missed wakeups
to be debugged.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 1 +
include/trace/events/afs.h | 30 ++
2 files changed, 31
Since we know what the contents of a symlink will be when we create it on
the server, initialise its contents locally too to avoid the need to
download it.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 2 ++
fs/afs/inode.c
ryption sequentially (though it's great if
the decryption can happen in parallel).
There is a disadvantage in that we're losing the ability to decrypt and
unlock things on an as-things-arrive basis which may affect some
applications.
Signed-off-by: David Howells
cc: Jeff Layton
taken that the hash chains are acyclic.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/Makefile | 1 +
fs/afs/dir.c| 42
fs/afs/dir_edit.c | 135 +-
fs/afs/dir_search.c | 227
Initialise a new directory's content when it is created by mkdir locally
rather than downloading the content from the server as we can predict what
it's going to look like.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c
f possible.
The ->done() call op is also split with ->immediate_cancel() handling the
cancellation on failure to begin the call and ->done() handling the rest.
This means that the AFS async FetchData code doesn't try to terminate the
netfs subrequest twice.
Signed-off-by: David Howe
ect that isn't uploaded to the
server.
(10) Enable caching on directories.
(11) Only set the upload key for writeback for regular files.
Notes:
(*) We keep the ->release_folio(), ->invalidate_folio() and
->migrate_folio() ops as we set the mapping pointer on the folio.
"error_do_abort:" case of afs_make_call() abort the
call and then abandon it to the notification handler.
Fixes: 34fa47612bfe ("afs: Fix race in async call refcounting")
Reported-by: Marc Dionne
Signed-off-by: David Howells
cc: linux-...@lists.infradead.org
---
fs/afs/inte
need there to the
afs_call struct (we may be given a different amount of data than what we
asked for and have to track what remains of that) and using the
netfs_io_subrequest directly instead.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c
Use netfslib to read symlinks, thereby allowing them to be cached by
fscache and cachefiles.
Signed-off-by: David Howells
cc: Marc Dionne
cc: Jeff Layton
cc: linux-...@lists.infradead.org
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/afs/file.c | 32
the
process's keyrings instead when setting up a read.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 16
1 file changed, 16 insertions(+)
diff --git a/fs/afs/file.c b/fs/afs/file.c
index f717168da4ab..a9d98d18407c 100644
-
n the DV is recorded on a vnode.
(5) afs_dv_mismatch: Log when the DV recorded on a vnode plus the expected
delta for the operation does not match the DV we got back from the
server.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/callb
Add a display of the first 8 bytes of the downloaded auxiliary data and of
the on-disk stored auxiliary data as these are used in coherency
management. In the case of afs, this holds the data version number.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde
Add some tracepoints into the cachefiles write paths.
Signed-off-by: David Howells
cc: ne...@lists.linux.dev
---
fs/cachefiles/io.c | 4
include/trace/events/netfs.h | 3 +++
2 files changed, 7 insertions(+)
diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c
index 6a821a959b59
will have trace lines emitted
and will be accounted in the stats.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/misc.c | 95
In the directory editing code, we shouldn't re-invalidate the directory
if it is already invalidated.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir_edit.c | 22 +-
1 file changed, 9 insertions(+), 13 deletions(-)
diff --
number of
alloc_ctrs in the code anyway. In future, however, I should start using
the hash table to try and speed up afs_lookup().
Fix this by using the correct constant to declare the counter array.
Fixes: 4ea219a839bf ("afs: Split the directory content defs into a header")
Signed-off-by: Dav
Drop the error argument from netfs_read_subreq_terminated() in favour of
passing the value in subreq->error.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 3 ++-
fs/afs/file.c|
data and not from the issuing thread.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/fs_operation.c | 111 +++---
fs/afs/internal.h | 3 +-
fs/afs/super.c| 2 +-
3 files changed, 108 insertions(
All the accessing of the subrequest lists is now done in process context,
possibly in a workqueue, but not now in a BH context, so we don't need the
lock against BH interference when taking the netfs_io_request::lock
spinlock.
Signed-off-by: David Howells
cc: Jeff Layton
cc: linux
-=wiVC5Cgyz6QKXFu6fTaA6h4CjexDR-OV9kL6Vo5x9v8=a...@mail.gmail.com/
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 2 +-
fs/afs/file.c| 6 ++---
fs/afs/fsclient.c| 2 +-
fs/afs/yfsclient.c
Split write-retry code out of fs/netfs/write_collect.c as it will become
more elaborate when content crypto is introduced.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile| 3 +-
fs/netfs/internal.h
netfs_advance_write() calculates the amount of data it's attaching to a
stream with size_t, but then returns this as an int. Switch the return
value to size_t for consistency.
Signed-off-by: David Howells
cc: Jeff Layton
cc: linux-cach...@redhat.com
cc: linux-fsde...@vger.kernel.org
cc:
use a second rolling buffer to handle bounce
buffering for content encryption.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile | 1 +
fs/netfs/buffered_read.c | 119 -
fs/
Add a tracepoint to log the lifespan of folio_queue structs. For tracing
illustrative purposes, folio_queues are tagged with the debug ID of
whatever they're related to (typically a netfs_io_request) and a debug ID
of their own.
Signed-off-by: David Howells
cc: Jeff Layton
c
From: "Matthew Wilcox (Oracle)"
Calling folio_index() is pointless overhead; directly dereferencing
folio->index is fine.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-2-wi...@infradead.org
Signed-off-by: Christian Brauner
---
include/trace/even
From: "Matthew Wilcox (Oracle)"
We can't return with VM_FAULT_SIGBUS | VM_FAULT_LOCKED; the core
code will not unlock the folio in this instance. Introduce a new
"unlock" error exit to handle this case. Use it to handle
the "folio is truncated" check, and change the "writeback interrupted
by a
Provide and use folio_queue allocation and free functions to combine the
allocation, initialisation and stat (un)accounting steps that are repeated
in several places.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs
From: "Matthew Wilcox (Oracle)"
These places should all use folios instead of pages.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-4-wi...@infradead.org
Signed-off-by: Christian Brauner
---
fs/netfs/buffered_read.c | 8
fs/netfs/buffe
ectory's hash table on lookup.
- Add an afs patch to preset the contents of a new symlink on creation.
- Add an afs patch to add a tracepoint in the async FetchData response
processing.
- Add a patch to report if a NULL folio_queue pointer is seen in
netfs_writeback_unlock_folios().
T
The attached fix needs folding in across this patch (23), patch 24, patch
29 and patch 31.
David
---
commit 9d4429bc7bb3f2b518d6decd1ca0e99e4d80d58e
Author: David Howells
Date: Thu Nov 7 23:46:48 2024 +
afs: Fix handling of signals during readdir
When a directory is being
This patch needs the attached adjustment folding in.
David
---
commit 2c07b29a051fadb6816d31f526e4dd45ddf5
Author: David Howells
Date: Thu Nov 7 22:22:49 2024 +
netfs: Fix folio abandonment
The mechanism to handle the abandonment of a folio being read due to an
error
From: "Matthew Wilcox (Oracle)"
These places should all use folios instead of pages.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-4-wi...@infradead.org
Signed-off-by: Christian Brauner
---
fs/netfs/buffered_read.c | 8
fs/netfs/buffe
will have trace lines emitted
and will be accounted in the stats.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/misc.c | 95
Split write-retry code out of fs/netfs/write_collect.c as it will become
more elaborate when content crypto is introduced.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile| 3 +-
fs/netfs/internal.h
Drop the error argument from netfs_read_subreq_terminated() in favour of
passing the value in subreq->error.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 3 ++-
fs/afs/file.c|
All the accessing of the subrequest lists is now done in process context,
possibly in a workqueue, but not now in a BH context, so we don't need the
lock against BH interference when taking the netfs_io_request::lock
spinlock.
Signed-off-by: David Howells
cc: Jeff Layton
cc: linux
to search the directory's hash table on lookup.
- Add an afs patch to preset the contents of a new symlink on creation.
- Add an afs patch to add a tracepoint in the async FetchData response
processing.
- Add a patch to report if a NULL folio_queue pointer is seen in
netfs_writeback_
Provide and use folio_queue allocation and free functions to combine the
allocation, initialisation and stat (un)accounting steps that are repeated
in several places.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs
Initialise a new directory's content when it is created by mkdir locally
rather than downloading the content from the server as we can predict what
it's going to look like.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c
From: "Matthew Wilcox (Oracle)"
Calling folio_index() is pointless overhead; directly dereferencing
folio->index is fine.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-2-wi...@infradead.org
Signed-off-by: Christian Brauner
---
include/trace/even
./include/linux/greybus/.__afs3C95: File removed before we read it
The find warning doesn't seem to cause a problem.
Fix this by telling tar when called from in gen_kheaders.sh to exclude such
files. This only affects afs and nfs; cifs uses the Windows Hidden
attribute to prevent the file from
From: "Matthew Wilcox (Oracle)"
We can't return with VM_FAULT_SIGBUS | VM_FAULT_LOCKED; the core
code will not unlock the folio in this instance. Introduce a new
"unlock" error exit to handle this case. Use it to handle
the "folio is truncated" check, and change the "writeback interrupted
by a
data and not from the issuing thread.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/fs_operation.c | 111 +++---
fs/afs/internal.h | 3 +-
fs/afs/super.c| 2 +-
3 files changed, 108 insertions(
netfs_advance_write() calculates the amount of data it's attaching to a
stream with size_t, but then returns this as an int. Switch the return
value to size_t for consistency.
Signed-off-by: David Howells
cc: Jeff Layton
cc: linux-cach...@redhat.com
cc: linux-fsde...@vger.kernel.org
cc:
n the DV is recorded on a vnode.
(5) afs_dv_mismatch: Log when the DV recorded on a vnode plus the expected
delta for the operation does not match the DV we got back from the
server.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/callb
taken that the hash chains are acyclic.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/Makefile | 1 +
fs/afs/dir.c| 42
fs/afs/dir_edit.c | 135 +-
fs/afs/dir_search.c | 227
Add a tracepoint for afs_read_receive() to allow potential missed wakeups
to be debugged.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 1 +
include/trace/events/afs.h | 30 ++
2 files changed, 31
f possible.
The ->done() call op is also split with ->immediate_cancel() handling the
cancellation on failure to begin the call and ->done() handling the rest.
This means that the AFS async FetchData code doesn't try to terminate the
netfs subrequest twice.
Signed-off-by: David Howe
eturn.
Note that this does not try to fix the problem.
Reported-by: syzbot+af5c06208fa71bf31...@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=af5c06208fa71bf31b16
Signed-off-by: David Howells
cc: Chang Yu
Link: https://lore.kernel.org/r/zxshmew4u7mtg...@gmail.com/
cc:
Since we know what the contents of a symlink will be when we create it on
the server, initialise its contents locally too to avoid the need to
download it.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 2 ++
fs/afs/inode.c
Add a display of the first 8 bytes of the downloaded auxiliary data and of
the on-disk stored auxiliary data as these are used in coherency
management. In the case of afs, this holds the data version number.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde
the
process's keyrings instead when setting up a read.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 16
1 file changed, 16 insertions(+)
diff --git a/fs/afs/file.c b/fs/afs/file.c
index f717168da4ab..a9d98d18407c 100644
-
ryption sequentially (though it's great if
the decryption can happen in parallel).
There is a disadvantage in that we're losing the ability to decrypt and
unlock things on an as-things-arrive basis which may affect some
applications.
Signed-off-by: David Howells
cc: Jeff Layton
use a second rolling buffer to handle bounce
buffering for content encryption.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile | 1 +
fs/netfs/buffered_read.c | 119 -
fs/
In the directory editing code, we shouldn't re-invalidate the directory
if it is already invalidated.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir_edit.c | 22 +-
1 file changed, 9 insertions(+), 13 deletions(-)
diff --
Add some tracepoints into the cachefiles write paths.
Signed-off-by: David Howells
cc: ne...@lists.linux.dev
---
fs/cachefiles/io.c | 4
include/trace/events/netfs.h | 3 +++
2 files changed, 7 insertions(+)
diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c
index 6a821a959b59
"error_do_abort:" case of afs_make_call() abort the
call and then abandon it to the notification handler.
Fixes: 34fa47612bfe ("afs: Fix race in async call refcounting")
Reported-by: Marc Dionne
Signed-off-by: David Howells
cc: linux-...@lists.infradead.org
---
fs/afs/inte
Add support for caching the content of a file that contains a single
monolithic object that must be read/written with a single I/O operation,
such as an AFS directory.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc
Use netfslib to read symlinks, thereby allowing them to be cached by
fscache and cachefiles.
Signed-off-by: David Howells
cc: Marc Dionne
cc: Jeff Layton
cc: linux-...@lists.infradead.org
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/afs/file.c | 32
Add a tracepoint to log the lifespan of folio_queue structs. For tracing
illustrative purposes, folio_queues are tagged with the debug ID of
whatever they're related to (typically a netfs_io_request) and a debug ID
of their own.
Signed-off-by: David Howells
cc: Jeff Layton
c
ect that isn't uploaded to the
server.
(10) Enable caching on directories.
(11) Only set the upload key for writeback for regular files.
Notes:
(*) We keep the ->release_folio(), ->invalidate_folio() and
->migrate_folio() ops as we set the mapping pointer on the folio.
need there to the
afs_call struct (we may be given a different amount of data than what we
asked for and have to track what remains of that) and using the
netfs_io_subrequest directly instead.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c
() to translate EEXIST to ENOTEMPTY.
Fixes: 260a980317da ("[AFS]: Add "directory write" support.")
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/afs/d
number of
alloc_ctrs in the code anyway. In future, however, I should start using
the hash table to try and speed up afs_lookup().
Fix this by using the correct constant to declare the counter array.
Fixes: 4ea219a839bf ("afs: Split the directory content defs into a header")
Signed-off-by: Dav
-=wiVC5Cgyz6QKXFu6fTaA6h4CjexDR-OV9kL6Vo5x9v8=a...@mail.gmail.com/
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 2 +-
fs/afs/file.c| 6 ++---
fs/afs/fsclient.c| 2 +-
fs/afs/yfsclient.c
e server.
(4) Implement this for FetchData RPCs, making it schedule the async
handler and wait for it so that it doesn't get cancelled.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c |8
fs/afs/fsclient.c |3 +++
etchData response
processing.
- Add a patch to report if a NULL folio_queue pointer is seen in
netfs_writeback_unlock_folios().
Thanks,
David
David Howells (28):
netfs: Use a folio_queue allocation and free functions
netfs: Add a tracepoint to log the lifespan of folio_queue structs
ne
In the directory editing code, we shouldn't re-invalidate the directory
if it is already invalidated.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir_edit.c | 22 +-
1 file changed, 9 insertions(+), 13 deletions(-)
diff --
use a second rolling buffer to handle bounce
buffering for content encryption.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile | 1 +
fs/netfs/buffered_read.c | 119 -
fs/
From: "Matthew Wilcox (Oracle)"
Calling folio_index() is pointless overhead; directly dereferencing
folio->index is fine.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-2-wi...@infradead.org
Signed-off-by: Christian Brauner
---
include/trace/even
From: "Matthew Wilcox (Oracle)"
We can't return with VM_FAULT_SIGBUS | VM_FAULT_LOCKED; the core
code will not unlock the folio in this instance. Introduce a new
"unlock" error exit to handle this case. Use it to handle
the "folio is truncated" check, and change the "writeback interrupted
by a
From: "Matthew Wilcox (Oracle)"
These places should all use folios instead of pages.
Signed-off-by: Matthew Wilcox (Oracle)
Link: https://lore.kernel.org/r/20241005182307.3190401-4-wi...@infradead.org
Signed-off-by: Christian Brauner
---
fs/netfs/buffered_read.c | 8
fs/netfs/buffe
eturn.
Note that this does not try to fix the problem.
Reported-by: syzbot+af5c06208fa71bf31...@syzkaller.appspotmail.com
Link: https://syzkaller.appspot.com/bug?extid=af5c06208fa71bf31b16
Signed-off-by: David Howells
cc: Chang Yu
Link: https://lore.kernel.org/r/zxshmew4u7mtg...@gmail.com/
cc:
Add a tracepoint for afs_read_receive() to allow potential missed wakeups
to be debugged.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 1 +
include/trace/events/afs.h | 30 ++
2 files changed, 31
taken that the hash chains are acyclic.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/Makefile | 1 +
fs/afs/dir.c| 42
fs/afs/dir_edit.c | 133 +-
fs/afs/dir_search.c | 227
Since we know what the contents of a symlink will be when we create it on
the server, initialise its contents locally too to avoid the need to
download it.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 2 ++
fs/afs/inode.c
Initialise a new directory's content when it is created by mkdir locally
rather than downloading the content from the server as we can predict what
it's going to look like.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c
ryption sequentially (though it's great if
the decryption can happen in parallel).
There is a disadvantage in that we're losing the ability to decrypt and
unlock things on an as-things-arrive basis which may affect some
applications.
Signed-off-by: David Howells
cc: Jeff Layton
f possible.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 115 +-
fs/afs/fs_operation.c | 2 +-
fs/afs/fsclient.c | 6 ++-
fs/afs/internal.h | 7 +++
fs/afs/main.c | 2
the
process's keyrings instead when setting up a read.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c | 16
1 file changed, 16 insertions(+)
diff --git a/fs/afs/file.c b/fs/afs/file.c
index f717168da4ab..a9d98d18407c 100644
-
need there to the
afs_call struct (we may be given a different amount of data than what we
asked for and have to track what remains of that) and using the
netfs_io_subrequest directly instead.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/file.c
Use netfslib to read symlinks, thereby allowing them to be cached by
fscache and cachefiles.
Signed-off-by: David Howells
cc: Marc Dionne
cc: Jeff Layton
cc: linux-...@lists.infradead.org
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/afs/file.c | 32
ect that isn't uploaded to the
server.
(10) Enable caching on directories.
(11) Only set the upload key for writeback for regular files.
Notes:
(*) We keep the ->release_folio(), ->invalidate_folio() and
->migrate_folio() ops as we set the mapping pointer on the folio.
Add support for caching the content of a file that contains a single
monolithic object that must be read/written with a single I/O operation,
such as an AFS directory.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc
will have trace lines emitted
and will be accounted in the stats.
Signed-off-by: David Howells
cc: Jeff Layton
cc: Marc Dionne
cc: ne...@lists.linux.dev
cc: linux-...@lists.infradead.org
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/misc.c | 95
n the DV is recorded on a vnode.
(5) afs_dv_mismatch: Log when the DV recorded on a vnode plus the expected
delta for the operation does not match the DV we got back from the
server.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/callb
() to translate EEXIST to ENOTEMPTY.
Fixes: 260a980317da ("[AFS]: Add "directory write" support.")
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/dir.c | 7 ++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/afs/d
number of
alloc_ctrs in the code anyway. In future, however, I should start using
the hash table to try and speed up afs_lookup().
Fix this by using the correct constant to declare the counter array.
Fixes: 4ea219a839bf ("afs: Split the directory content defs into a header")
Signed-off-by: Dav
Add a display of the first 8 bytes of the downloaded auxiliary data and of
the on-disk stored auxiliary data as these are used in coherency
management. In the case of afs, this holds the data version number.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde
Add some tracepoints into the cachefiles write paths.
Signed-off-by: David Howells
cc: ne...@lists.linux.dev
---
fs/cachefiles/io.c | 4
include/trace/events/netfs.h | 3 +++
2 files changed, 7 insertions(+)
diff --git a/fs/cachefiles/io.c b/fs/cachefiles/io.c
index 6a821a959b59
data and not from the issuing thread.
Signed-off-by: David Howells
cc: Marc Dionne
cc: linux-...@lists.infradead.org
---
fs/afs/fs_operation.c | 111 +++---
fs/afs/internal.h | 3 +-
fs/afs/super.c| 2 +-
3 files changed, 108 insertions(
All the accessing of the subrequest lists is now done in process context,
possibly in a workqueue, but not now in a BH context, so we don't need the
lock against BH interference when taking the netfs_io_request::lock
spinlock.
Signed-off-by: David Howells
cc: Jeff Layton
cc: linux
-=wiVC5Cgyz6QKXFu6fTaA6h4CjexDR-OV9kL6Vo5x9v8=a...@mail.gmail.com/
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 2 +-
fs/afs/file.c| 6 ++---
fs/afs/fsclient.c| 2 +-
fs/afs/yfsclient.c
Drop the error argument from netfs_read_subreq_terminated() in favour of
passing the value in subreq->error.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/9p/vfs_addr.c | 3 ++-
fs/afs/file.c|
Split write-retry code out of fs/netfs/write_collect.c as it will become
more elaborate when content crypto is introduced.
Signed-off-by: David Howells
cc: Jeff Layton
cc: ne...@lists.linux.dev
cc: linux-fsde...@vger.kernel.org
---
fs/netfs/Makefile| 3 +-
fs/netfs/internal.h
1 - 100 of 497 matches
Mail list logo