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
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
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
_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
___
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
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
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.
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
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
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)
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
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
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
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
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 +-
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
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
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
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
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.
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.
: 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
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
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
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
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
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
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 +-
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
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
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
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/
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
: 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
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
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
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
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
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
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
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
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
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 |
, 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
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
'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
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
_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
48 matches
Mail list logo