tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: adding linux syscall fallocate



Hi David,

Thanks for your answer and sorry for the delay. I'm short of filesystem internals knowledge so I think I'll leave it to Maciej to finish his implementation. Though, I can help him testing his work on my scenario. In the meantime I also started to implement an application layer level workaround in the form of an ndk installer script that replaces the ndk binary tools with a script that wraps the named pipe (fifo) trick I mentioned and calls the original (but renamed during install) binaries. Not sure if it'll work out but it's at least something I can implement:)

Best regards,
r0ller

-------- Eredeti levél --------
Feladó: David Holland < dholland-tech%netbsd.org@localhost (Link -> mailto:dholland-tech%netbsd.org@localhost) >
Dátum: 2019 november 10 21:38:21
Tárgy: Re: adding linux syscall fallocate
Címzett: r0ller < r0ller%freemail.hu@localhost (Link -> mailto:r0ller%freemail.hu@localhost) >
On Sun, Nov 03, 2019 at 07:06:35PM +0100, r0ller wrote:

> Indeed. That's bad news but thanks for your answer! I've even found
> this: https://wiki.netbsd.org/projects/project/ffs-fallocate/
> Are there any details for this project besides that page? I don't
> know anything about NetBSD internals though if it's not meant for
> gurus, I'd have a look at it and give it a try.

That's what there is; it is not that difficult (as kernel projects go)
but requires some knowledge of filesystem internals.
Another complication, depending on what your application is trying to
do, is that linux's native fallocate allows allocating blocks beyond
the end of file, which conventional filesystems can't support. If the
thing you're trying to run depends on this behavior, you're probably
SOL. If it doesn't, you can adjust it to use posix_fallocate itself,
so you don't need to muck with the compat layer, but that won't help
with ffs.
--
David A. Holland
dholland%netbsd.org@localhost

Home | Main Index | Thread Index | Old Index