From b87b8a8b32518df9e5285f9b3d4f9d9a0c426a06 Mon Sep 17 00:00:00 2001 From: Michael Buesch Date: Sun, 27 Apr 2014 14:54:12 +0400 Subject: [PATCH] slirp/smb: Move ncalrpc directory to tmp The smbd forked by qemu still uses the default ncalrpc directory in /var/run/samba. This may lead to problems, if /var/run/samba does not exist (for example if /var/run is a tmpfs and the host smbd was not started). This leads to the following error message from samba and an unworkable smbd: Failed to create pipe directory /var/run/samba/ncalrpc - No such file or directory Fix this by pointing smbd to /tmp/qemu-smb.%d.%d/ncalrpc as ncalrpc directory. Smbd will create the actual ncalrpc subdirectory on its own. Signed-off-by: Michael Buesch Cc: Jan Kiszka Signed-off-by: Michael Tokarev (Applying this to -trivial because it _is_ rather trivial and because Jan does not reply for months) --- net/slirp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/slirp.c b/net/slirp.c index cce026bf12..8fddc03841 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -527,6 +527,7 @@ static int slirp_smb(SlirpState* s, const char *exported_dir, "pid directory=%s\n" "lock directory=%s\n" "state directory=%s\n" + "ncalrpc dir=%s/ncalrpc\n" "log file=%s/log.smbd\n" "smb passwd file=%s/smbpasswd\n" "security = user\n" @@ -542,6 +543,7 @@ static int slirp_smb(SlirpState* s, const char *exported_dir, s->smb_dir, s->smb_dir, s->smb_dir, + s->smb_dir, exported_dir, passwd->pw_name );