Re: [f2fs-dev] LLM disclosure (was: [PATCH v2] vfs: remove the excl argument from the ->create() inode_operation)

2025-11-07 Thread NeilBrown
On Sat, 08 Nov 2025, Jeff Layton wrote: > On Fri, 2025-11-07 at 15:35 -0700, Jonathan Corbet wrote: > > NeilBrown writes: > > > > > On Sat, 08 Nov 2025, Jeff Layton wrote: > > > > > > Full disclosure: I did use Claude code to generate the first > &g

Re: [f2fs-dev] [PATCH v2] vfs: remove the excl argument from the ->create() inode_operation

2025-11-07 Thread NeilBrown
es are too wordy. Patch is very nice. I don't think the documentation is too wordy. I think it is good that the two changes to the different files say essentially the same thing but use different words. That helps. Reviewed-by: NeilBrown > > Full disclosure: I did use Claude cod

Re: [f2fs-dev] [PATCH] vfs: remove the excl argument from the ->create() inode_operation

2025-11-06 Thread NeilBrown
On Fri, 07 Nov 2025, Jeff Layton wrote: > On Thu, 2025-11-06 at 07:07 -0500, Jeff Layton wrote: > > On Thu, 2025-11-06 at 08:23 +1100, NeilBrown wrote: > > > On Thu, 06 Nov 2025, Jeff Layton wrote: > > > > Since ce8644fcadc5 ("lookup_open(): expand the call o

Re: [f2fs-dev] [PATCH] vfs: remove the excl argument from the ->create() inode_operation

2025-11-05 Thread NeilBrown
_EXCL); > + mode); "open_flag & O_EXCL" is not the same as "true". It is true that "all calls to vfs_create() pass true for 'excl'" The same is NOT true for inode_operations.create. NeilBrown ___

Re: [f2fs-dev] [PATCH 06/11] ceph: remove reliance on bdi congestion

2022-03-03 Thread NeilBrown
On Thu, 24 Feb 2022, Jeff Layton wrote: > On Thu, 2022-02-24 at 16:41 +1100, NeilBrown wrote: > > On Thu, 24 Feb 2022, Jeff Layton wrote: > > > On Tue, 2022-02-22 at 14:17 +1100, NeilBrown wrote: > > > > The bdi congestion tracking in not widely used and will be remov

Re: [f2fs-dev] [PATCH 04/11] fuse: remove reliance on bdi congestion

2022-03-03 Thread NeilBrown
On Wed, 02 Mar 2022, Miklos Szeredi wrote: > On Tue, 22 Feb 2022 at 04:18, NeilBrown wrote: > > > > The bdi congestion tracking in not widely used and will be removed. > > > > Fuse is one of a small number of filesystems that uses it, setting both > > the sync (r

Re: [f2fs-dev] [PATCH 03/11] MM: improve cleanup when ->readpages doesn't process all pages.

2022-03-03 Thread NeilBrown
On Wed, 02 Mar 2022, Miklos Szeredi wrote: > On Tue, 22 Feb 2022 at 04:18, NeilBrown wrote: > > > > If ->readpages doesn't process all the pages, then it is best to act as > > though they weren't requested so that a subsequent readahead can try > > again.

Re: [f2fs-dev] [PATCH 02/11] MM: document and polish read-ahead code.

2022-02-27 Thread NeilBrown
On Mon, 28 Feb 2022, Andrew Morton wrote: > On Mon, 28 Feb 2022 15:28:39 +1100 "NeilBrown" wrote: > > > When writing documentation the intent of the author is of some interest, > > but the behaviour of the code is paramount. > > uh, er, ah, no. The code d

Re: [f2fs-dev] [PATCH 02/11] MM: document and polish read-ahead code.

2022-02-27 Thread NeilBrown
On Fri, 25 Feb 2022, Jan Kara wrote: > On Fri 11-02-22 10:35:17, NeilBrown wrote: > > On Thu, 10 Feb 2022, Jan Kara wrote: > > > Hi Neil! > > > > > > On Thu 10-02-22 16:37:52, NeilBrown wrote: > > > > Add some "big-picture" documentation

Re: [f2fs-dev] [PATCH 06/11] ceph: remove reliance on bdi congestion

2022-02-23 Thread NeilBrown
On Thu, 24 Feb 2022, Jeff Layton wrote: > On Tue, 2022-02-22 at 14:17 +1100, NeilBrown wrote: > > The bdi congestion tracking in not widely used and will be removed. > > > > CEPHfs is one of a small number of filesystems that uses it, setting > > just the async (write)

[f2fs-dev] [PATCH 11/11] Remove congestion tracking framework.

2022-02-21 Thread NeilBrown
This framework is no longer used - so discard it. Signed-off-by: NeilBrown --- include/linux/backing-dev-defs.h |8 - include/linux/backing-dev.h |2 - include/trace/events/writeback.h | 28 --- mm/backing-dev.c | 57

[f2fs-dev] [PATCH 10/11] block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"

2022-02-21 Thread NeilBrown
bfq_get_queue() expects a "bool" for the third arg, so pass "false" rather than "BLK_RW_ASYNC" which will soon be removed. Acked-by: Jens Axboe Signed-off-by: NeilBrown --- block/bfq-iosched.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[f2fs-dev] [PATCH 09/11] f2fs: replace congestion_wait() calls with io_schedule_timeout()

2022-02-21 Thread NeilBrown
As congestion is no longer tracked, congestion_wait() is effectively equivalent to io_schedule_timeout(). So introduce f2fs_io_schedule_timeout() which sets TASK_UNINTERRUPTIBLE and call that instead. Signed-off-by: NeilBrown --- fs/f2fs/compress.c |4 +--- fs/f2fs/data.c |3 +-- fs

[f2fs-dev] [PATCH 08/11] Remove bdi_congested() and wb_congested() and related functions

2022-02-21 Thread NeilBrown
and remove the functions. Acked-by: Ryusuke Konishi (for nilfs bits) Signed-off-by: NeilBrown --- drivers/block/drbd/drbd_int.h |3 --- drivers/block/drbd/drbd_req.c |3 +-- fs/ext2/ialloc.c |5 - fs/nilfs2/segbuf.c| 15 --- fs/xfs

[f2fs-dev] [PATCH 07/11] Remove inode_congested()

2022-02-21 Thread NeilBrown
x27;. Signed-off-by: NeilBrown --- fs/fs-writeback.c | 37 - include/linux/backing-dev.h | 22 -- mm/fadvise.c|5 ++--- mm/readahead.c |6 -- mm/vmscan.c | 17 +-

[f2fs-dev] [PATCH 06/11] ceph: remove reliance on bdi congestion

2022-02-21 Thread NeilBrown
that pageout() can now return PAGE_ACTIVATE instead of PAGE_KEEP, so SetPageActive() will be called on the page which (I think) wil further delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/ceph/addr.c | 22 +- fs/ceph/super.c

[f2fs-dev] [PATCH 05/11] nfs: remove reliance on bdi congestion

2022-02-21 Thread NeilBrown
pageout() can now return PAGE_ACTIVATE instead of PAGE_KEEP, so SetPageActive() will be called on the page which (I think) wil further delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/nfs/write.c| 14 +++--- include/linux

[f2fs-dev] [PATCH 04/11] fuse: remove reliance on bdi congestion

2022-02-21 Thread NeilBrown
delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/fuse/control.c | 17 - fs/fuse/dev.c |8 fs/fuse/file.c| 17 + 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/fs/fuse

[f2fs-dev] [PATCH 03/11] MM: improve cleanup when ->readpages doesn't process all pages.

2022-02-21 Thread NeilBrown
e ->read()s - update the file_ra_state to reflect the reads that were actually submitted. This allows ->readpages() to abort early due e.g. to congestion, which will then allow us to remove the inode_read_congested() test from page_Cache_async_ra(). Signed-off-by: NeilB

[f2fs-dev] [PATCH 00/11] Remove remaining parts of congestion tracking code.

2022-02-21 Thread NeilBrown
ee even if you don't take this. The changes to fuse/nfs/ceph are not appropriate and I wouldn't want them to land by mistake. Thanks, NeilBrown --- NeilBrown (11): DOC: convert 'subsection' to 'section' in gfp.h MM: document and polish read-ahead code.

[f2fs-dev] [PATCH 02/11] MM: document and polish read-ahead code.

2022-02-21 Thread NeilBrown
a() request will usually set ->async_size non-zero, implying it is not all synchronous. When a non-zero req_count is passed to page_cache_async_ra(), the implication is that some prefix of the request is synchronous, though the calculation made there is incorrect - I haven't tried to fix it.

[f2fs-dev] [PATCH 01/11] DOC: convert 'subsection' to 'section' in gfp.h

2022-02-21 Thread NeilBrown
: NeilBrown --- include/linux/gfp.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 80f63c862be5..20f6fbe12993 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -79,7 +79,7 @@ struct vm_area_struct; * DOC

Re: [f2fs-dev] [PATCH 02/11] MM: document and polish read-ahead code.

2022-02-10 Thread NeilBrown
On Thu, 10 Feb 2022, Jan Kara wrote: > Hi Neil! > > On Thu 10-02-22 16:37:52, NeilBrown wrote: > > Add some "big-picture" documentation for read-ahead and polish the code > > to make it fit this documentation. > > > > The meaning of ->async_siz

[f2fs-dev] [PATCH 11/11] Remove congestion tracking framework.

2022-02-09 Thread NeilBrown
This framework is no longer used - so discard it. Signed-off-by: NeilBrown --- include/linux/backing-dev-defs.h |8 - include/linux/backing-dev.h |2 - include/trace/events/writeback.h | 28 --- mm/backing-dev.c | 57

[f2fs-dev] [PATCH 10/11] block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"

2022-02-09 Thread NeilBrown
bfq_get_queue() expects a "bool" for the third arg, so pass "false" rather than "BLK_RW_ASYNC" which will soon be removed. Acked-by: Jens Axboe Signed-off-by: NeilBrown --- block/bfq-iosched.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git

[f2fs-dev] [PATCH 09/11] f2fs: replace congestion_wait() calls with io_schedule_timeout()

2022-02-09 Thread NeilBrown
As congestion is no longer tracked, congestion_wait() is effectively equivalent to io_schedule_timeout(). So introduce f2fs_io_schedule_timeout() which sets TASK_UNINTERRUPTIBLE and call that instead. Signed-off-by: NeilBrown --- fs/f2fs/compress.c |4 +--- fs/f2fs/data.c |3 +-- fs

[f2fs-dev] [PATCH 08/11] Remove bdi_congested() and wb_congested() and related functions

2022-02-09 Thread NeilBrown
and remove the functions. Acked-by: Ryusuke Konishi (for nilfs bits) Signed-off-by: NeilBrown --- drivers/block/drbd/drbd_int.h |3 --- drivers/block/drbd/drbd_req.c |3 +-- fs/ext2/ialloc.c |5 - fs/nilfs2/segbuf.c| 15 --- fs/xfs

[f2fs-dev] [PATCH 07/11] Remove inode_congested()

2022-02-09 Thread NeilBrown
x27;. Signed-off-by: NeilBrown --- fs/fs-writeback.c | 37 - include/linux/backing-dev.h | 22 -- mm/fadvise.c|5 ++--- mm/readahead.c |6 -- mm/vmscan.c | 17 +-

[f2fs-dev] [PATCH 06/11] ceph: remove reliance on bdi congestion

2022-02-09 Thread NeilBrown
that pageout() can now return PAGE_ACTIVATE instead of PAGE_KEEP, so SetPageActive() will be called on the page which (I think) wil further delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/ceph/addr.c | 22 +- fs/ceph/super.c

[f2fs-dev] [PATCH 05/11] nfs: remove reliance on bdi congestion

2022-02-09 Thread NeilBrown
pageout() can now return PAGE_ACTIVATE instead of PAGE_KEEP, so SetPageActive() will be called on the page which (I think) wil further delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/nfs/write.c| 14 +++--- include/linux

[f2fs-dev] [PATCH 04/11] fuse: remove reliance on bdi congestion

2022-02-09 Thread NeilBrown
delay the next attempt at writeout. This might be a good thing. Signed-off-by: NeilBrown --- fs/fuse/control.c | 17 - fs/fuse/dev.c |8 fs/fuse/file.c| 17 + 3 files changed, 17 insertions(+), 25 deletions(-) diff --git a/fs/fuse

[f2fs-dev] [PATCH 02/11] MM: document and polish read-ahead code.

2022-02-09 Thread NeilBrown
g it is not all synchronous. When a non-zero req_count is passed to page_cache_async_ra(), the implication is that some prefix of the request is synchronous, though the calculation made there is incorrect - I haven't tried to fix it. Signed-off-by: NeilBrown --- Documentation/core-api/

[f2fs-dev] [PATCH 03/11] MM: improve cleanup when ->readpages doesn't process all pages.

2022-02-09 Thread NeilBrown
e ->read()s - update the file_ra_state to reflect the reads that were actually submitted. This allows ->readpages() to abort early due e.g. to congestion, which will then allow us to remove the inode_read_congested() test from page_Cache_async_ra(). Signed-off-by: NeilB

[f2fs-dev] [PATCH 01/11] DOC: convert 'subsection' to 'section' in gfp.h

2022-02-09 Thread NeilBrown
: NeilBrown --- include/linux/gfp.h | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 80f63c862be5..20f6fbe12993 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -79,7 +79,7 @@ struct vm_area_struct; * DOC

[f2fs-dev] [PATCH 00/11] Remove remaining parts of congestion tracking code.

2022-02-09 Thread NeilBrown
it cleans up related doco a bit. Andrew: please drop the version of this that is currently in your tree even if you don't take this. The changes to fuse/nfs/ceph are not appropriate. Thanks, NeilBrown --- NeilBrown (11): DOC: convert 'subsection' to 'section' in

Re: [f2fs-dev] [PATCH 1/9] Remove inode_congested()

2022-01-28 Thread NeilBrown
On Fri, 28 Jan 2022, Miklos Szeredi wrote: > On Thu, 27 Jan 2022 at 03:47, NeilBrown wrote: > > > > inode_congested() reports if the backing-device for the inode is > > congested. Few bdi report congestion any more, only ceph, fuse, and > > nfs. Having support just

[f2fs-dev] [PATCH 9/9] Remove congestion tracking framework.

2022-01-26 Thread NeilBrown
This framework is no longer used - so discard it. Signed-off-by: NeilBrown --- include/linux/backing-dev-defs.h |8 - include/linux/backing-dev.h |2 - include/trace/events/writeback.h | 28 --- mm/backing-dev.c | 57

[f2fs-dev] [PATCH 8/9] block/bfq-iosched.c: use "false" rather than "BLK_RW_ASYNC"

2022-01-26 Thread NeilBrown
bfq_get_queue() expects a "bool" for the third arg, so pass "false" rather than "BLK_RW_ASYNC" which will soon be removed. Signed-off-by: NeilBrown --- block/bfq-iosched.c |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/bfq-iosched

[f2fs-dev] [PATCH 7/9] NFS: remove congestion control.

2022-01-26 Thread NeilBrown
Linux no longer uses the bdi congestion tracking framework. So remove code from bdi which tries to support it. Also remove the "nfs_congestion_kb" sysctl. This is a user-visible change, but unlikely to be a problematic one. Signed-off-by: NeilBrown --- fs/nfs/sysctl.c

[f2fs-dev] [PATCH 6/9] fuse: don't set/clear bdi_congested

2022-01-26 Thread NeilBrown
The bid congestion framework is no longer used to manage writeout etc, so drop updating it in fuse. Signed-off-by: NeilBrown --- fs/fuse/control.c | 17 - fs/fuse/dev.c |8 2 files changed, 25 deletions(-) diff --git a/fs/fuse/control.c b/fs/fuse/control.c

[f2fs-dev] [PATCH 5/9] cephfs: don't set/clear bdi_congestion

2022-01-26 Thread NeilBrown
longer meaningful, but as it is visible to user-space, removing it needs more consideration. Signed-off-by: NeilBrown --- fs/ceph/addr.c | 27 --- fs/ceph/super.c |2 -- fs/ceph/super.h |2 -- 3 files changed, 31 deletions(-) diff --git a/fs/ceph/addr.c b/fs/ceph

[f2fs-dev] [PATCH 4/9] f2f2: replace some congestion_wait() calls with io_schedule_timeout()

2022-01-26 Thread NeilBrown
will have exactly the same behaviour. Signed-off-by: NeilBrown --- fs/f2fs/segment.c | 14 -- fs/f2fs/super.c |8 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index 1dabc8244083..78e3fbc24e77 100644 --- a/fs

[f2fs-dev] [PATCH 3/9] f2fs: change retry waiting for f2fs_write_single_data_page()

2022-01-26 Thread NeilBrown
is no longer tracked. So this is just a simple sleep. A better approach is it wait until the cp_rwsem lock can be taken - then try again. There is certainly no point trying again *before* the lock can be taken. Signed-off-by: NeilBrown --- fs/f2fs/compress.c |6 +++--- fs/f2fs/data.c |

[f2fs-dev] [PATCH 2/9] Remove bdi_congested() and wb_congested() and related functions

2022-01-26 Thread NeilBrown
, but only when PF_LOCAL_THROTTLE is set. So replace the calls by 'false' and simplify the code - and remove the functions. Signed-off-by: NeilBrown --- drivers/block/drbd/drbd_int.h |3 --- drivers/block/drbd/drbd_req.c |3 +-- fs/ext2/ialloc.c |2 -- fs/nilfs

[f2fs-dev] [PATCH 0/9] Remove remaining parts of congestions tracking code.

2022-01-26 Thread NeilBrown
ter they all do - so maybe it should be held for 5.18-rc2 if all the rest lands by 5.18-rc1. Thanks, NeilBrown --- NeilBrown (9): Remove inode_congested() Remove bdi_congested() and wb_congested() and related functions f2fs: change retry waiting for f2fs_write_single_data_pa

[f2fs-dev] [PATCH 1/9] Remove inode_congested()

2022-01-26 Thread NeilBrown
'false'. Signed-off-by: NeilBrown --- fs/fs-writeback.c | 37 - include/linux/backing-dev.h | 22 -- mm/fadvise.c|5 ++--- mm/readahead.c |6 -- mm/vmscan.c

[f2fs-dev] [PATCH v2] MM: introduce memalloc_retry_wait()

2021-11-21 Thread NeilBrown
if at all. In that case memalloc_retry_wait() waits about 200ms. This is the delay that most current loops uses. linux/sched/mm.h needs to be included in some files now, but linux/backing-dev.h does not. Signed-off-by: NeilBrown --- Switched to io_schedule_timeout(), and added some missing #incl

[f2fs-dev] [PATCH] MM: introduce memalloc_retry_wait()

2021-11-16 Thread NeilBrown
_retry_wait() waits about 200ms. This is the delay that most current loops uses. linux/sched/mm.h needs to be included in some files now, but linux/backing-dev.h does not. Signed-off-by: NeilBrown --- I could split this up by filesystems if people prefer that, but they we would have to wait for the