mount -t smb works like this:
-t smb => use /sbin/mount.smb
mount.smb == /usr/sbin/smbmount

/usr/sbin/smbmount calls smbmnt (== /usr/sbin/smbmnt)

But /usr/sbin isn't in mount's PATH, so it fails.

execve("smbmnt",...
execve("/bin/smbmnt",...
execve("/usr/bin/smbmnt",...
write(2, "execvp of smbmnt failed.....

If I use /sbin/mount.smb or /usr/sbin/smbmount directly it works.

Try this patch:

--- source/client/smbmount.c    Sun Apr 15 01:03:46 2001
+++ source/client/smbmount.c.seb        Mon Jun 11 13:40:08 2001
@@ -484,9 +484,9 @@
        }

        if (sys_fork() == 0) {
-               if (file_exist(BINDIR "/smbmnt", NULL)) {
-                       execv(BINDIR "/smbmnt", args);
-                       fprintf(stderr,"execv of %s failed. Error was %s.", BINDIR 
"/smbmnt", strerror(errno));
+               if (file_exist(SBINDIR "/smbmnt", NULL)) {
+                       execv(SBINDIR "/smbmnt", args);
+                       fprintf(stderr,"execv of %s failed. Error was %s.", SBINDIR 
+"/smbmnt", strerror(errno));
                } else {
                        execvp("smbmnt", args);
                        fprintf(stderr,"execvp of smbmnt failed. Error was %s.", 
strerror(errno) );



Reply via email to