samba4: file transfer hangs with default configuration
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 4.6k
- Forks
- 4k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 134
Description
Maintainer: @Andy2244
Environment: ARMv5TE, ZyXEL NSA325-Feroceon 88FR131, OpenWrt SNAPSHOT r18717-0e32c6baf3
Description:
Hi, I cannot copy files from/to a share using a freshly installed samba4-server default configuration without modifications in the smb.conf.template file.
I can access and list the directories, but copying files hangs and then terminates with an error.
Very small files (few kb) seems to transfer after a lot of struggle.
I'm on samba4-server v4.14.12-1.
After a bit of trial and error, I maneged to fix the problem by uncommenting these two lines from smb.conf.template:
aio read size = 0
aio write size = 0
But from my understanding, which is probably wrong, uncommenting those parameters would enable sync I/O (aka disable async I/O). That is fine, but I would then expect VFS io_uring to be disabled, which apparently is not, from logread:
Tue Feb 8 17:59:32 2022 daemon.info samba4-server: io_uring module found, enabling VFS io_uring. (also needs Kernel 5.4+ Support)
Tue Feb 8 17:59:33 2022 daemon.err smbd[7857]: [2022/02/08 17:59:33.954086, 0] ../../lib/util/become_daemon.c:135(daemon_ready)
Tue Feb 8 17:59:33 2022 daemon.err smbd[7857]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
Using the working configuration I tested transfers up to ~400 Mbit with ~60% of CPU use (1.6 Ghz I think).
I wonder if this is a bug, and if at the end of the day I am using io_uring async I/O or not.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the package's smb.conf.template and the reported logread output, then inspect how the default aio and io_uring settings interact on the stated OpenWrt ARMv5TE environment. Reproduce the transfer hang if possible and determine whether the default configuration needs a package change or clearer compatibility guidance; done means the default setup transfers files reliably or the limitation is documented.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100