FS#62262 - [samba] nmbd won't start with pid directory error

Attached to Project: Arch Linux
Opened by Andreas Baumann (andreas_baumann) - Sunday, 07 April 2019, 06:39 GMT
Last edited by Tobias Powalowski (tpowa) - Wednesday, 10 April 2019, 06:31 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

systemctl start nmb

[2019/04/07 08:36:32.254927, 0] ../../lib/util/become_daemon.c:122(exit_daemon)
exit_daemon: daemon failed to start: Failed to create directory for pid files, check 'pid directory', error code 17

The root cause is a rewrite in Samba in lib/util/util.c, directory_create_or_exist which does:

ret = mkdir(dname, dir_perms);
...
if (ret != 0 && errno == EEXIST) {
...
ret = lstat(dname, &sbuf);
...
if (!S_ISDIR(sbuf.st_mode)) {
return false;
}
}

This means with /var/run being a symlink to /run, this fails.

Workaround:

configure in /etc/samba/smb.conf in the [global] section:

pid directory = /run

Additional info:
* package version(s): 4.10.0-3
* config and/or log files etc.
* link to upstream bug report, if any

Steps to reproduce:

install samba
systemctl start nmb
This task depends upon

Closed by  Tobias Powalowski (tpowa)
Wednesday, 10 April 2019, 06:31 GMT
Reason for closing:  Fixed
Comment by Andreas Baumann (andreas_baumann) - Sunday, 07 April 2019, 08:11 GMT