Re: [Cluster-devel] [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr

2023-08-29 Thread Al Viro
On Tue, Aug 29, 2023 at 08:43:31PM -0400, Jeff Layton wrote: > On Wed, 2023-08-30 at 01:02 +0100, Al Viro wrote: > > On Tue, Aug 29, 2023 at 06:58:47PM -0400, Jeff Layton wrote: > > > On Tue, 2023-08-29 at 23:44 +0100, Al Viro wrote: > > > > On Tue, Jul 25, 2023 at 10:58:14AM -0400, Jeff Layton

Re: [Cluster-devel] [PATCH v2 08/92] fs: new helper: simple_rename_timestamp

2023-08-29 Thread Jeff Layton
On Wed, 2023-08-30 at 01:19 +0100, Al Viro wrote: > On Wed, Jul 05, 2023 at 02:58:11PM -0400, Jeff Layton wrote: > > > + * POSIX mandates that the old and new parent directories have their ctime > > and > > + * mtime updated, and that inodes of @old_dentry and @new_dentry (if any), > > have > >

Re: [Cluster-devel] [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr

2023-08-29 Thread Jeff Layton
On Wed, 2023-08-30 at 01:02 +0100, Al Viro wrote: > On Tue, Aug 29, 2023 at 06:58:47PM -0400, Jeff Layton wrote: > > On Tue, 2023-08-29 at 23:44 +0100, Al Viro wrote: > > > On Tue, Jul 25, 2023 at 10:58:14AM -0400, Jeff Layton wrote: > > > > generic_fillattr just fills in the entire stat struct

Re: [Cluster-devel] [PATCH v2 08/92] fs: new helper: simple_rename_timestamp

2023-08-29 Thread Al Viro
On Wed, Jul 05, 2023 at 02:58:11PM -0400, Jeff Layton wrote: > + * POSIX mandates that the old and new parent directories have their ctime > and > + * mtime updated, and that inodes of @old_dentry and @new_dentry (if any), > have > + * their ctime updated. APPLICATION USAGE Some

Re: [Cluster-devel] [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr

2023-08-29 Thread Al Viro
On Tue, Aug 29, 2023 at 06:58:47PM -0400, Jeff Layton wrote: > On Tue, 2023-08-29 at 23:44 +0100, Al Viro wrote: > > On Tue, Jul 25, 2023 at 10:58:14AM -0400, Jeff Layton wrote: > > > generic_fillattr just fills in the entire stat struct indiscriminately > > > today, copying data from the inode.

Re: [Cluster-devel] [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr

2023-08-29 Thread Jeff Layton
On Tue, 2023-08-29 at 23:44 +0100, Al Viro wrote: > On Tue, Jul 25, 2023 at 10:58:14AM -0400, Jeff Layton wrote: > > generic_fillattr just fills in the entire stat struct indiscriminately > > today, copying data from the inode. There is at least one attribute > > (STATX_CHANGE_COOKIE) that can

Re: [Cluster-devel] [PATCH v6 1/7] fs: pass the request_mask to generic_fillattr

2023-08-29 Thread Al Viro
On Tue, Jul 25, 2023 at 10:58:14AM -0400, Jeff Layton wrote: > generic_fillattr just fills in the entire stat struct indiscriminately > today, copying data from the inode. There is at least one attribute > (STATX_CHANGE_COOKIE) that can have side effects when it is reported, > and we're looking at

[Cluster-devel] [ANNOUNCE] Goodbye cluster-devel, hello g...@lists.linux.dev

2023-08-29 Thread Andrew Price
Hi all, As cluster-devel is now only used for gfs2 and dlm development, we will be moving them to a new list hosted by kernel.org alongside other Linux subsystems' lists. The new list is g...@lists.linux.dev and it will be used for both gfs2 and dlm development. The Linux MAINTAINERS file

Re: [Cluster-devel] [PATCH] generic: add fcntl corner cases tests

2023-08-29 Thread Alexander Aring
Hi, On Tue, Aug 29, 2023 at 12:43 AM Zorro Lang wrote: > > On Wed, Aug 23, 2023 at 05:08:14PM -0400, Alexander Aring wrote: > > This patch adds generic 730 testcase. It will test on various fcntl() > > The generic/730 has been taken. The case number might be changed when I merge > a patch, so

Re: [Cluster-devel] [PATCH 02/11] xfs: add NOWAIT semantics for readdir

2023-08-29 Thread Matthew Wilcox
On Tue, Aug 29, 2023 at 03:41:43PM +0800, Hao Xu wrote: > On 8/28/23 04:44, Matthew Wilcox wrote: > > > @@ -391,10 +401,17 @@ xfs_dir2_leaf_getdents( > > > bp = NULL; > > > } > > > - if (*lock_mode == 0) > > > -

Re: [Cluster-devel] [PATCH 07/11] vfs: add nowait parameter for file_accessed()

2023-08-29 Thread Matthew Wilcox
On Tue, Aug 29, 2023 at 03:46:13PM +0800, Hao Xu wrote: > On 8/28/23 05:32, Matthew Wilcox wrote: > > On Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote: > > > From: Hao Xu > > > > > > Add a boolean parameter for file_accessed() to support nowait semantics. > > > Currently it is true only

[Cluster-devel] [gfs2:for-later 27/30] kernel/kthread.c:738: warning: Function parameter or member 'k' not described in 'kthread_stop_put'

2023-08-29 Thread kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git for-later head: b10d94a0cbfc4bbfdf6dcdaa966fb4f17eee08f1 commit: d3a19da72d2ef3e8f1d756b9f859a93ef84c3078 [27/30] kthread: Add kthread_stop_put config: i386-buildonly-randconfig-001-20230829 (https://download.01.org

[Cluster-devel] [PATCH 07/11] vfs: add nowait parameter for file_accessed()

2023-08-29 Thread Hao Xu
From: Hao Xu Add a boolean parameter for file_accessed() to support nowait semantics. Currently it is true only with io_uring as its initial caller. Signed-off-by: Hao Xu --- arch/s390/hypfs/inode.c | 2 +- block/fops.c| 2 +- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c

[Cluster-devel] [PATCH 19/29] xfs: support nowait memory allocation in _xfs_buf_alloc()

2023-08-29 Thread Hao Xu
From: Hao Xu Choose different gfp flags to support nowait memory allocation in _xfs_buf_alloc(). Signed-off-by: Hao Xu --- fs/xfs/xfs_buf.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 9f84bc3b802c..8b800ce28996 100644 ---

[Cluster-devel] [PATCH 06/11] vfs: add a nowait parameter for touch_atime()

2023-08-29 Thread Hao Xu
From: Hao Xu Add a nowait boolean parameter for touch_atime() to support nowait semantics. It is true only when io_uring is the initial caller. Signed-off-by: Hao Xu --- fs/cachefiles/namei.c | 2 +- fs/ecryptfs/file.c| 4 ++-- fs/inode.c| 7 --- fs/namei.c| 4

[Cluster-devel] [PATCH 24/29] xfs: support nowait for xfs_buf_read_map()

2023-08-29 Thread Hao Xu
From: Hao Xu This causes xfstests generic/232 hung in umount process, waiting for ail push, so I comment it for now, need some hints from xfs folks. Not a real patch. Signed-off-by: Hao Xu --- fs/xfs/xfs_buf.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/fs/xfs/xfs_buf.c

[Cluster-devel] [PATCH 27/29] xfs: add a comment for xlog_kvmalloc()

2023-08-29 Thread Hao Xu
From: Hao Xu vmalloc() always succeed in 64 bit system? Not a real patch. Signed-off-by: Hao Xu --- fs/xfs/xfs_log_cil.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/xfs/xfs_log_cil.c b/fs/xfs/xfs_log_cil.c index f17c1799b3c4..b31830ee36dd 100644 --- a/fs/xfs/xfs_log_cil.c +++

[Cluster-devel] [PATCH 28/29] xfs: support nowait semantics for xc_ctx_lock in xlog_cil_commit()

2023-08-29 Thread Hao Xu
From: Hao Xu Apply trylock logic for xc_ctx_lock in xlog_cil_commit() in nowait case and error out -EAGAIN for xlog_cil_commit(). Signed-off-by: Hao Xu --- fs/xfs/xfs_log_cil.c | 12 ++-- fs/xfs/xfs_log_priv.h | 2 +- fs/xfs/xfs_trans.c| 4 +++- 3 files changed, 14

[Cluster-devel] [PATCH 16/29] xfs: add nowait parameter for xfs_inode_item_init()

2023-08-29 Thread Hao Xu
From: Hao Xu Add nowait parameter for xfs_inode_item_init() to support nowait semantics. Signed-off-by: Hao Xu --- fs/xfs/libxfs/xfs_trans_inode.c | 3 ++- fs/xfs/xfs_inode_item.c | 12 fs/xfs/xfs_inode_item.h | 3 ++- 3 files changed, 12 insertions(+), 6

Re: [Cluster-devel] [PATCH 02/11] xfs: add NOWAIT semantics for readdir

2023-08-29 Thread Hao Xu
On 8/28/23 04:44, Matthew Wilcox wrote: On Sun, Aug 27, 2023 at 09:28:26PM +0800, Hao Xu wrote: +++ b/fs/xfs/libxfs/xfs_da_btree.c @@ -2643,16 +2643,32 @@ xfs_da_read_buf( struct xfs_buf_map map, *mapp = int nmap = 1; int

[Cluster-devel] [PATCH 15/29] xfs: don't wait for free space in xlog_grant_head_check() in nowait case

2023-08-29 Thread Hao Xu
From: Hao Xu Don't sleep and wait for more space for a log ticket in xlog_grant_head_check() when it is in nowait case. Signed-off-by: Hao Xu --- fs/xfs/xfs_log.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index

[Cluster-devel] [PATCH 09/29] vfs: move file_accessed() to the beginning of iterate_dir()

2023-08-29 Thread Hao Xu
From: Hao Xu Move file_accessed() to the beginning of iterate_dir() so that we don't need to rollback all the work done when file_accessed() returns -EAGAIN at the end of getdents. Signed-off-by: Hao Xu --- fs/readdir.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git

[Cluster-devel] [PATCH 02/11] xfs: add NOWAIT semantics for readdir

2023-08-29 Thread Hao Xu
From: Hao Xu Implement NOWAIT semantics for readdir. Return EAGAIN error to the caller if it would block, like failing to get locks, or going to do IO. Co-developed-by: Dave Chinner Signed-off-by: Dave Chinner Signed-off-by: Hao Xu [fixes deadlock issue, tweak code style] ---

[Cluster-devel] [PATCH 03/29] xfs: add NOWAIT semantics for readdir

2023-08-29 Thread Hao Xu
From: Hao Xu Implement NOWAIT semantics for readdir. Return EAGAIN error to the caller if it would block, like failing to get locks, or going to do IO. Co-developed-by: Dave Chinner Signed-off-by: Dave Chinner Signed-off-by: Hao Xu [fixes deadlock issue, tweak code style] ---

[Cluster-devel] [PATCH 05/29] vfs: add a vfs helper for io_uring file pos lock

2023-08-29 Thread Hao Xu
From: Hao Xu Add a vfs helper file_pos_lock_nowait() for io_uring usage. The function have conditional nowait logic, i.e. if nowait is needed, return -EAGAIN when trylock fails. Signed-off-by: Hao Xu --- fs/file.c| 13 + include/linux/file.h | 2 ++ 2 files changed,

[Cluster-devel] [PATCH 13/29] xfs: make xfs_trans_alloc() support nowait semantics

2023-08-29 Thread Hao Xu
From: Hao Xu There are locks in xfs_trans_alloc(), spot them and apply trylock logic. Make them return -EAGAIN when it would block. To achieve this, add nowait parameter for those functions in the path. Besides, add a generic transaction flag XFS_TRANS_NOWAIT to deliver nowait info.

[Cluster-devel] [PATCH 08/11] vfs: move file_accessed() to the beginning of iterate_dir()

2023-08-29 Thread Hao Xu
From: Hao Xu Move file_accessed() to the beginning of iterate_dir() so that we don't need to rollback all the work done when file_accessed() returns -EAGAIN at the end of getdents. Signed-off-by: Hao Xu --- fs/readdir.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git

[Cluster-devel] [PATCH 02/29] xfs: rename XBF_TRYLOCK to XBF_NOWAIT

2023-08-29 Thread Hao Xu
From: Hao Xu XBF_TRYLOCK means we need lock but don't block on it, we can use it to stand for not waiting for memory allcation. Rename XBF_TRYLOCK to XBF_NOWAIT, which is more generic. Signed-off-by: Hao Xu --- fs/xfs/libxfs/xfs_alloc.c | 2 +- fs/xfs/libxfs/xfs_attr_remote.c | 2 +-

Re: [Cluster-devel] [PATCH 07/11] vfs: add nowait parameter for file_accessed()

2023-08-29 Thread Hao Xu
On 8/28/23 05:32, Matthew Wilcox wrote: On Sun, Aug 27, 2023 at 09:28:31PM +0800, Hao Xu wrote: From: Hao Xu Add a boolean parameter for file_accessed() to support nowait semantics. Currently it is true only with io_uring as its initial caller. So why do we need to do this as part of this

[Cluster-devel] [PATCH 22/29] xfs: comment page allocation for nowait case in xfs_buf_find_insert()

2023-08-29 Thread Hao Xu
From: Hao Xu Add comments for page allocation in nowait case in xfs_buf_find_insert() Signed-off-by: Hao Xu --- fs/xfs/xfs_buf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index eb3cd7702545..57bdc4c5dde1 100644 --- a/fs/xfs/xfs_buf.c +++

[Cluster-devel] [PATCH 18/29] xfs: set XBF_NOWAIT for xfs_buf_read_map if necessary

2023-08-29 Thread Hao Xu
From: Hao Xu Set XBF_NOWAIT for xfs_buf_read_map() if necessary. Signed-off-by: Hao Xu --- fs/xfs/xfs_trans_buf.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/xfs/xfs_trans_buf.c b/fs/xfs/xfs_trans_buf.c index 6549e50d852c..016371f58f26 100644 --- a/fs/xfs/xfs_trans_buf.c +++

[Cluster-devel] [PATCH 25/29] xfs: support nowait for xfs_buf_item_init()

2023-08-29 Thread Hao Xu
From: Hao Xu support nowait for xfs_buf_item_init() and error out -EAGAIN to _xfs_trans_bjoin() when it would block. Signed-off-by: Hao Xu --- fs/xfs/xfs_buf_item.c | 9 +++-- fs/xfs/xfs_buf_item.h | 2 +- fs/xfs/xfs_buf_item_recover.c | 2 +- fs/xfs/xfs_trans_buf.c

[Cluster-devel] [PATCH 17/29] xfs: make xfs_trans_ijoin() error out -EAGAIN

2023-08-29 Thread Hao Xu
From: Hao Xu Change return value of xfs_trans_ijoin() to error out -EAGAIN. Signed-off-by: Hao Xu --- fs/xfs/libxfs/xfs_trans_inode.c | 13 + fs/xfs/xfs_iops.c | 4 +++- fs/xfs/xfs_trans.h | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) diff

[Cluster-devel] [PATCH 10/11] vfs: trylock inode->i_rwsem in iterate_dir() to support nowait

2023-08-29 Thread Hao Xu
From: Hao Xu Trylock inode->i_rwsem in iterate_dir() to support nowait semantics and error out -EAGAIN when there is contention. Signed-off-by: Hao Xu --- fs/readdir.c | 20 ++-- 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/fs/readdir.c b/fs/readdir.c index

[Cluster-devel] [PATCH 21/29] xfs: return -EAGAIN when bulk memory allocation fails in nowait case

2023-08-29 Thread Hao Xu
From: Hao Xu Rather than wait for a moment and retry, we return -EAGAIN when we fail to allocate bulk memory in xfs_buf_alloc_pages() in nowait case. Signed-off-by: Hao Xu --- fs/xfs/xfs_buf.c | 5 + 1 file changed, 5 insertions(+) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index

[Cluster-devel] [PATCH 10/29] vfs: add S_NOWAIT for nowait time update

2023-08-29 Thread Hao Xu
From: Hao Xu Add a new time flag S_NOWAIT to support nowait time update. Deliver it to specific filesystem and error out -EAGAIN when it would block. Signed-off-by: Hao Xu --- fs/inode.c | 9 + fs/xfs/xfs_iops.c | 8 +++- include/linux/fs.h | 1 + 3 files changed, 13

[Cluster-devel] [PATCH 29/29] io_uring: add support for getdents

2023-08-29 Thread Hao Xu
From: Hao Xu This add support for getdents64 to io_uring, acting exactly like the syscall: the directory is iterated from it's current's position as stored in the file struct, and the file's position is updated exactly as if getdents64 had been called. For filesystems that support NOWAIT in

[Cluster-devel] [PATCH 14/29] xfs: support nowait for xfs_log_reserve()

2023-08-29 Thread Hao Xu
From: Hao Xu Support nowait logic for xfs_log_reserve(), including add a nowait boolean parameter and error out -EAGAIN for ticket allocation. Signed-off-by: Hao Xu --- fs/xfs/xfs_log.c | 18 +- fs/xfs/xfs_log.h | 5 +++-- fs/xfs/xfs_log_cil.c | 2 +-

[Cluster-devel] [PATCH 04/29] vfs: add nowait flag for struct dir_context

2023-08-29 Thread Hao Xu
From: Hao Xu The flags will allow passing DIR_CONTEXT_F_NOWAIT to iterate() implementations that support it (as signaled through FMODE_NWAIT in file->f_mode) Notes: - considered using IOCB_NOWAIT but if we add more flags later it would be confusing to keep track of which values are valid, use

[Cluster-devel] [PATCH 09/11] vfs: error out -EAGAIN if atime needs to be updated

2023-08-29 Thread Hao Xu
From: Hao Xu To enforce nowait semantics, error out -EAGAIN if atime needs to be updated. Signed-off-by: Hao Xu --- fs/inode.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fs/inode.c b/fs/inode.c index e83b836f2d09..32d81be65cf9 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -1970,6

[Cluster-devel] [PATCH 04/11] vfs: add a vfs helper for io_uring file pos lock

2023-08-29 Thread Hao Xu
From: Hao Xu Add a vfs helper file_pos_lock_nowait() for io_uring usage. The function have conditional nowait logic, i.e. if nowait is needed, return -EAGAIN when trylock fails. Signed-off-by: Hao Xu --- fs/file.c| 13 + include/linux/file.h | 2 ++ 2 files changed,

[Cluster-devel] [PATCH 11/29] vfs: trylock inode->i_rwsem in iterate_dir() to support nowait

2023-08-29 Thread Hao Xu
From: Hao Xu Trylock inode->i_rwsem in iterate_dir() to support nowait semantics and error out -EAGAIN when there is contention. Signed-off-by: Hao Xu --- fs/readdir.c | 20 ++-- 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/fs/readdir.c b/fs/readdir.c index

[Cluster-devel] [PATCH 07/29] vfs: add a nowait parameter for touch_atime()

2023-08-29 Thread Hao Xu
From: Hao Xu Add a nowait boolean parameter for touch_atime() to support nowait semantics. It is true only when io_uring is the initial caller. Signed-off-by: Hao Xu --- fs/cachefiles/namei.c | 2 +- fs/ecryptfs/file.c| 4 ++-- fs/inode.c| 7 --- fs/namei.c| 4

[Cluster-devel] [PATCH 06/29] vfs: add file_pos_unlock() for io_uring usage

2023-08-29 Thread Hao Xu
From: Hao Xu Add a helper to unlock f_pos_lock without any condition. Introduce this since io_uring handles f_pos_lock not with a fd struct, thus FDPUT_POS_UNLOCK isn't used. Signed-off-by: Hao Xu --- include/linux/file.h | 5 + 1 file changed, 5 insertions(+) diff --git

[Cluster-devel] [PATCH 23/29] xfs: don't print warn info for -EAGAIN error in xfs_buf_get_map()

2023-08-29 Thread Hao Xu
From: Hao Xu -EAGAIN is internal error to indicate a retry, no needs to print a warn. Signed-off-by: Hao Xu --- fs/xfs/xfs_buf.c | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/xfs/xfs_buf.c b/fs/xfs/xfs_buf.c index 57bdc4c5dde1..cdad80e1ae25 100644 ---

[Cluster-devel] [PATCH v6 00/11] io_uring getdents

2023-08-29 Thread Hao Xu
From: Hao Xu This series introduce getdents64 to io_uring, the code logic is similar with the snychronized version's. It first try nowait issue, and offload it to io-wq threads if the first try fails. Patch1 and Patch2 are some preparation Patch3 supports nowait for xfs getdents code Patch4-11

[Cluster-devel] [PATCH 11/11] io_uring: add support for getdents

2023-08-29 Thread Hao Xu
From: Hao Xu This add support for getdents64 to io_uring, acting exactly like the syscall: the directory is iterated from it's current's position as stored in the file struct, and the file's position is updated exactly as if getdents64 had been called. For filesystems that support NOWAIT in

Re: [Cluster-devel] [syzbot] [gfs2?] BUG: unable to handle kernel NULL pointer dereference in gfs2_rgrp_dump

2023-08-29 Thread syzbot
syzbot has bisected this issue to: commit 72244b6bc752b5c496f09de9a13c18adc314a53c Author: Bob Peterson Date: Wed Aug 15 17:09:49 2018 + gfs2: improve debug information when lvb mismatches are found bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=1593747ba8 start

[Cluster-devel] [PATCH RFC v5 00/29] io_uring getdents

2023-08-29 Thread Hao Xu
From: Hao Xu This series introduce getdents64 to io_uring, the code logic is similar with the snychronized version's. It first try nowait issue, and offload it to io-wq threads if the first try fails. Patch1 and Patch2 are some preparation Patch3 supports nowait for xfs getdents code Patch4-11

[Cluster-devel] [PATCH 26/29] xfs: return -EAGAIN when nowait meets sync in transaction commit

2023-08-29 Thread Hao Xu
From: Hao Xu if the log transaction is a sync one, let's fail the nowait try and return -EAGAIN directly since sync transaction means blocked by IO. Signed-off-by: Hao Xu --- fs/xfs/xfs_trans.c | 14 +- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git

[Cluster-devel] [PATCH 20/29] xfs: distinguish error type of memory allocation failure for nowait case

2023-08-29 Thread Hao Xu
From: Hao Xu Previously, if we fail to get the memory we need, -ENOMEM is returned. It can be -EAGAIN now since we support nowait now. Return the latter when it is the case. Involved functions are: _xfs_buf_map_pages(), xfs_buf_get_maps(), xfs_buf_alloc_kmem() and xfs_buf_alloc_pages().

[Cluster-devel] [PATCH 05/11] vfs: add file_pos_unlock() for io_uring usage

2023-08-29 Thread Hao Xu
From: Hao Xu Add a helper to unlock f_pos_lock without any condition. Introduce this since io_uring handles f_pos_lock not with a fd struct, thus FDPUT_POS_UNLOCK isn't used. Signed-off-by: Hao Xu --- include/linux/file.h | 5 + 1 file changed, 5 insertions(+) diff --git

[Cluster-devel] [PATCH 08/29] vfs: add nowait parameter for file_accessed()

2023-08-29 Thread Hao Xu
From: Hao Xu Add a boolean parameter for file_accessed() to support nowait semantics. Currently it is true only with io_uring as its initial caller. Signed-off-by: Hao Xu --- arch/s390/hypfs/inode.c | 2 +- block/fops.c| 2 +- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c

[Cluster-devel] [PATCH 01/29] fs: split off vfs_getdents function of getdents64 syscall

2023-08-29 Thread Hao Xu
From: Dominique Martinet This splits off the vfs_getdents function from the getdents64 system call. This will allow io_uring to call the vfs_getdents function. Co-developed-by: Stefan Roesch Signed-off-by: Stefan Roesch Signed-off-by: Dominique Martinet Signed-off-by: Hao Xu ---

[Cluster-devel] [PATCH 01/11] fs: split off vfs_getdents function of getdents64 syscall

2023-08-29 Thread Hao Xu
From: Dominique Martinet This splits off the vfs_getdents function from the getdents64 system call. This will allow io_uring to call the vfs_getdents function. Co-developed-by: Stefan Roesch Signed-off-by: Stefan Roesch Signed-off-by: Dominique Martinet Signed-off-by: Hao Xu ---

[Cluster-devel] [PATCH 03/11] vfs: add nowait flag for struct dir_context

2023-08-29 Thread Hao Xu
From: Hao Xu The flags will allow passing DIR_CONTEXT_F_NOWAIT to iterate() implementations that support it (as signaled through FMODE_NWAIT in file->f_mode) Notes: - considered using IOCB_NOWAIT but if we add more flags later it would be confusing to keep track of which values are valid, use

[Cluster-devel] [PATCH 12/29] xfs: enforce GFP_NOIO implicitly during nowait time update

2023-08-29 Thread Hao Xu
From: Hao Xu Enforce GFP_NOIO logic implicitly by set pflags if we are in nowait time update process. Nowait semantics means no waiting for IO, therefore GFP_NOIO is needed. Signed-off-by: Hao Xu --- fs/xfs/xfs_iops.c | 22 +- 1 file changed, 17 insertions(+), 5