Bug 13128 - Panic on opening file on samba share with Microsoft Project
Summary: Panic on opening file on samba share with Microsoft Project
Status: RESOLVED WONTFIX
Alias: None
Product: Samba 4.1 and newer
Classification: Unclassified
Component: VFS Modules (show other bugs)
Version: 4.7.0
Hardware: x86 Linux
: P5 normal (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-10 07:37 UTC by Louis
Modified: 2017-11-14 08:52 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Louis 2017-11-10 07:37:31 UTC
upstream report. 

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881239 
possible bug in VFS aio_linux

Package: samba
Version: 2:4.7.0+dfsg-2
Severity: normal

Running config: 
[global]

netbios name = CPO1007DEB
workgroup = WORKGROUP
server string = CPO1007DEB Samba Staging VM
wins server = xx.xx.xx.xx 
dns proxy = no
domain master = no
local master = no
preferred master = no

max log size = 0
log level = 10
syslog = 0
panic action = /usr/share/samba/panic-action %d
debug prefix timestamp = yes

security = user
guest account = nobody
map to guest = Bad User

printing = bsd
printcap name = /dev/null
load printers = no
show add printer wizard = no

hide dot files = no
veto files = /Thumbs.db/*.shs/*.lnk/Desktop.ini/.*/
deadtime = 15
keepalive = 960
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
force user = nobody
force group = nogroup
nt acl support = no
usershare max shares = 0

kernel oplocks = no
kernel share modes = no
posix locking = no
socket options = IPTOS_LOWDELAY TCP_NODELAY
use sendfile = yes
aio read size = 4096
aio write size = 4096
vfs objects = aio_linux

[USER-RW]
comment = User Read-Write
path = /srv/smb/user-rw
browseable = yes
read only = yes
guest ok = no
valid users = snowman
write list = snowman

[GUEST-RO]
comment = Guest Read-Only
path = /srv/smb/guest-ro
browseable = yes
read only = yes
guest ok = yes
guest only = yes
Comment 1 Volker Lendecke 2017-11-10 07:45:25 UTC
WONTFIX might sound harsh, but the fix is not to ship aio_linux in debian. Linux AIO is not suiteable for samba's file access requirements. It only works on O_DIRECT for page-aligned accesses, something Samba does not do.

The fix is to just say "aio write size = 1" and "aio read size = 1" without any vfs objects. This activates the threaded implementation for async I/O that is implemented in core Samba.

Please transfer this info to the debian package maintainer (if you are not the one yourself :-) and close the debian bug with the same statement. Please remove aio_linux from the debian package.

Thanks,

Volker
Comment 2 Louis 2017-11-10 09:57:34 UTC
Thank you for the reply Volker, 
i've updated the debian bug report with you tekst. 

Best regards, 

Louis
Comment 3 Mathieu Parent 2017-11-10 13:34:14 UTC
@Volker: But it looks like a regression. Why was is working before?
Comment 4 Volker Lendecke 2017-11-10 14:29:42 UTC
It might have not crashed, but it definitely did not do what it promised to do: Do *asynchronous* I/O. The Linux API falls back to sync behaviour when not all the prerequisites are fulfilled, which is *always* the case for Samba.

So yes, technically this might be a regression. But you're far better off disabling AIO completely and removing this module from your conf. This has exactly the same effect. I am not willing to spend my spare time on a module that silently does not do what it promises to do.

If you need that nevertheless, feel free to submit a patch. Alternatively, please contact someone from https://www.samba.org/samba/support and pay to fix the module.

I the meantime I've sent around a patch to remove this thing from Samba.
Comment 5 Volker Lendecke 2017-11-13 10:19:05 UTC
(In reply to Mathieu Parent from comment #3)
> @Volker: But it looks like a regression. Why was is working before?

Just FYI: Since

https://git.samba.org/?p=samba.git;a=commitdiff;h=6381044c0270a647c20935d

the aio_linux VFS module is gone.