[Pkg-samba-maint] Bug#911118: mhddfs hangs for a while on writing

Andrew Bartlett abartlet at samba.org
Sat Nov 16 00:44:38 GMT 2024


On Fri, 2024-11-15 at 21:42 +0100, наб wrote:
> 
> On Sat, Nov 16, 2024 at 08:47:42AM +1300, Andrew Bartlett wrote:
> > I've checked our code, if fallocate() fails, we write 32kb chunks.
> It also looked like this to me but the falback path wasn't obvious.
> (Also, 32k is kinda small IMO but whatever.)
> 
> > But
> > we won't control how glibc falls back if fallocate is not supported by
> > the filesystem. 
> Sure, but since you're already implementing the fallback yourself,
> you should probably use fallocate() instead of posix_fallocate().
> 
> Under glibc, 
>   posix_fallocate() does fallocate(2) with the libc fallback if it fails,
>   fallocate() just does fallocate(2) and gives you the real error,
> so error-detecting after the infallible posix_fallocate() is kinda moot.
> 
> Under musl they're both equivalent to fallocate(2).
> 
> So while "changing how glibc falls back" is definitely out of scope,
> IMO "using a fallible interface to fall back from" could be in scope?
> 
> This alone would drop the I/Os issued 8-fold, bumping the buffer
> to something more reasonable in 2024 would make it even faster.

These points seem reasonable, but I don't work on Samba day to day any
more (and not on the fileserver either), just still CC'ed on some bugs
and figured I would look into it.

The Samba bugzilla is the place to start a report that those who work
in this area will see (but not act on with any priority, to be clear,
due resourcing constraints) https://bugzilla.samba.org, but to have any
change made to the codebase, I suggest opening a MR
per https://wiki.samba.org/index.php/Contribute


> > This isn't Samba, perhaps try libc6 or put the bug back to MHDDFS?
> I find the belaboured exposition in glibc's posix_fallocate.c convincing,
> but MHDDFS should implement fallocate regardless.

That is the real answer.

Thanks so much for your investigation and I wish you the best 

Andrew Bartlett

-- 
Andrew Bartlett (he/him)        https://samba.org/~abartlet/
Samba Team Member (since 2001)  https://samba.org
Samba Developer, Catalyst IT    https://catalyst.net.nz/services/samba



More information about the Pkg-samba-maint mailing list