Ok... Yet another round of fixes for smbmount and autofs.
authorMichael Warfield <mhw@samba.org>
Sun, 31 Jan 1999 21:28:55 +0000 (21:28 +0000)
committerMichael Warfield <mhw@samba.org>
Sun, 31 Jan 1999 21:28:55 +0000 (21:28 +0000)
commitc5608093e48ed7fd3b7a1e2a4b1af7e4e59fc2f9
treeb053d349233d986bd6dd7676edc15e402c389764
parentad58cdfac6b85d9431216e32e532ad4d60f9c6dd
Ok...  Yet another round of fixes for smbmount and autofs.

1)  The earlier fix for the smbmount race conditions broke the PID
registration with smbfs.  That fix has been backed out and
replaced by a signalling convention from the child smbmount
process back to the parent telling the parent when it is safe
to exit.

2)  Fixing all of this uncovered a NASTY deadly embrace between smbmount,
smbmnt, and autofs.  This was caused by the setsid call in the
daemon code.  The smbmnt process no longer was registered as
"magic" because it was no longer in the autofs process group.
Many many kudos and thanks to H Peter Anvin for giving me the
clue to solving this agravating puzzle.  The setsid was moved
down the where the child signals the parent and a warn left in
its place in the daemonize code.

3)  Fixed (actually worked around with a BUTT UGLY HACK) a problem with
SMB_GET_MOUNTPID in smbumount.c.  The smb_fs.h header file has
the parameter to this ioctl defined as a uid_t.  Unfortunately
that's a 32 bit quantity under glibc and it's currently a 16 bit
quantity in kernel space.  Undefined the macro and redefined
it with a parameter of __kernel_uid_t.  That should keep us
out of trouble till I can have someone fix smb_fs.h in the
kernel sources...
source/client/smbmount.c
source/client/smbumount.c