[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250514142316.GF9943@mit.edu>
Date: Wed, 14 May 2025 10:23:16 -0400
From: "Theodore Ts'o" <tytso@....edu>
To: Matthew Wilcox <willy@...radead.org>
Cc: 陈涛涛 Taotao Chen <chentaotao@...iglobal.com>,
"adilger.kernel@...ger.ca" <adilger.kernel@...ger.ca>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>
Subject: Re: [PATCH 1/3] mm/filemap: initialize fsdata with iocb->ki_flags
On Wed, May 14, 2025 at 02:38:05PM +0100, Matthew Wilcox wrote:
> On Tue, May 13, 2025 at 11:51:25PM -0400, Theodore Ts'o wrote:
> > I understand that it would be a lot more inconvenient change the
> > function signature of write_begin() to pass through iocb->ki_fags via
> > a new parameter. But I think that probably is the best way to go.
>
> I'd suggest that passing in iocb rather than file is the way to go.
> Most callers of ->write_begin already pass NULL as the first argument so
> would not need to change. i915/gem passes a non-NULL file, but it only
> operates on shmem and shmem does not use the file argument, so they can
> pass NULL instead. fs/buffer.c simply passes through the file passed
> to write_begin and can be changed to pass through the iocb passed in.
> exfat_extend_valid_size() has an iocb in its caller and can pass in the
> iocb instead. generic_perform_write() has an iocb.
Mmm, nice! I agree, that's probably the way to go.
There might be some callers if write_begin() that might require some
restructing because they don't have an iocb. For example,
shmem_pwrite() in drivers/gpu/i915/gem/i915_gem_shmem.c came up when I
did a quick grep.
- Ted
Powered by blists - more mailing lists