[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200324023431.GD53396@mit.edu>
Date: Mon, 23 Mar 2020 22:34:31 -0400
From: "Theodore Y. Ts'o" <tytso@....edu>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Peter Maydell <peter.maydell@...aro.org>,
"Suzuki K. Poulose" <suzuki.poulose@....com>,
Andreas Dilger <adilger.kernel@...ger.ca>,
Ext4 Developers List <linux-ext4@...r.kernel.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux API <linux-api@...r.kernel.org>,
QEMU Developers <qemu-devel@...gnu.org>,
Florian Weimer <fw@...eb.enyo.de>,
Andy Lutomirski <luto@...nel.org>,
stable <stable@...r.kernel.org>
Subject: Re: [PATCH] ext4: Give 32bit personalities 32bit hashes
On Thu, Mar 19, 2020 at 11:23:33PM +0100, Linus Walleij wrote:
> OK I guess we can at least take this opportunity to add
> some kerneldoc to the include file.
>
> > As a concrete example, should "give me 32-bit semantics
> > via PER_LINUX32" mean "mmap should always return addresses
> > within 4GB" ? That would seem like it would make sense --
>
> Incidentally that thing in particular has its own personality
> flag (personalities are additive, it's a bit schizophrenic)
> so PER_LINUX_32BIT is defined as:
> PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
> and that is specifically for limiting the address space to
> 32bit.
>
> There is also PER_LINUX32_3GB for a 3GB lowmem
> limit.
>
> Since the personality is kind of additive, if
> we want a flag *specifically* for indicating that we want
> 32bit hashes from the file system, there are bits left so we
> can provide that.
>
> Is this what we want to do? I just think we shouldn't
> decide on that lightly as we will be using up personality
> bug bits, but sometimes you have to use them.
I've been looking at the personality bug bits more detailed, and it
looks... messy. Do we pick a new personality, or do we grab another
unique flag?
Another possibility, which would be messier for qemu, would be use a
flag set via fcntl. That would require qemu from noticing when the
guest is calling open, openat, or openat2, and then inserting a fcntl
system call to set the 32-bit readdir mode. That's cleaner from the
kernel interface complexity perspective, but it's messier for qemu.
- Ted
Powered by blists - more mailing lists