[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAJnrk1aXvVf7jaK9_2PamK5X+1b+crT+kmn8vktv0nxqCtcW8g@mail.gmail.com>
Date: Mon, 28 Jul 2025 10:55:42 -0700
From: Joanne Koong <joannelkoong@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: "Darrick J. Wong" <djwong@...nel.org>, Naresh Kamboju <naresh.kamboju@...aro.org>,
linux-fsdevel@...r.kernel.org, linux-mm <linux-mm@...ck.org>,
linux-xfs@...r.kernel.org, open list <linux-kernel@...r.kernel.org>,
lkft-triage@...ts.linaro.org, Linux Regressions <regressions@...ts.linux.dev>,
Miklos Szeredi <miklos@...redi.hu>, Jan Kara <jack@...e.cz>,
Andrew Morton <akpm@...ux-foundation.org>, Christian Brauner <brauner@...nel.org>,
Lorenzo Stoakes <lorenzo.stoakes@...cle.com>, "Liam R. Howlett" <liam.howlett@...cle.com>,
Arnd Bergmann <arnd@...db.de>, Dan Carpenter <dan.carpenter@...aro.org>,
Anders Roxell <anders.roxell@...aro.org>, Ben Copeland <benjamin.copeland@...aro.org>
Subject: Re: next-20250721 arm64 16K and 64K page size WARNING fs fuse file.c
at fuse_iomap_writeback_range
On Mon, Jul 28, 2025 at 10:34 AM Matthew Wilcox <willy@...radead.org> wrote:
>
> On Fri, Jul 25, 2025 at 06:16:15PM -0700, Joanne Koong wrote:
> > > > > > Also, I just noticed that apparently the blocksize can change
> > > > > > dynamically for an inode in fuse through getattr replies from the
> > > > > > server (see fuse_change_attributes_common()). This is a problem since
> > > > > > the iomap uses inode->i_blkbits for reading/writing to the bitmap. I
> > > > > > think we will have to cache the inode blkbits in the iomap_folio_state
> > > > > > struct unfortunately :( I'll think about this some more and send out a
> > > > > > patch for this.
>
> Does this actually happen in practice, once you've started _using_ the
> block device? Rather than all this complicated stuff to invalidate the
> page cache based on the fuse server telling us something, maybe just
> declare the server to be misbehaving and shut the whole filesystem down?
>
I don't think this case is likely at all but I guess one scenario
where the server might want to change the block size midway through is
if they send the data to some network filesystem on the backend and if
that backend shuts down or is at full capacity for whatever reason and
they need to migrate to another backend that uses a different block
size then I guess this would be useful for that.
fuse currently does allow the block size to be changed dynamically so
I'm not sure if we can change that behavior without breaking backwards
compatibility.
Powered by blists - more mailing lists