Thread (17 messages) flat view 17 messages, 10 authors, 2018-12-30

Re: [Qemu-devel] d_off field in struct dirent and 32-on-64 emulation

From: Peter Maydell <hidden>
Date: 2018-12-29 00:12:40
Also in: linux-ext4, linux-fsdevel, lkml, qemu-devel

On Fri, 28 Dec 2018 at 23:16, Andreas Dilger [off-list ref] wrot
On Dec 28, 2018, at 4:18 AM, Peter Maydell [off-list ref] wrote:
quoted
The problem is that there is no 32-bit API in some cases
(unless I have misunderstood the kernel code) -- not all
host architectures implement compat syscalls or allow them
to be called from 64-bit processes or implement all the older
syscall variants that had smaller offets. If there was a guaranteed
"this syscall always exists and always gives me 32-bit offsets"
we could use it.
The "32bitapi" mount option would use 32-bit hash for seekdir
and telldir, regardless of what kernel API was used.  That would
just set the FMODE_32BITHASH flag in the file->f_mode for all files.
A mount option wouldn't be much use to QEMU -- we can't tell
our users how to mount their filesystems, which they're
often doing lots of other things with besides running QEMU.
(Otherwise we could just tell them "don't use ext4", which
would also solve the problem :-)) We need something we can
use at the individual-syscall level.

thanks
-- PMM
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help