Wrong types in <linux/smb_mount.h> causes smbmnt problems

Anders Melchiorsen (and@kampsax.dtu.dk)
28 May 1998 19:12:58 +0200


After upgrading to a 2.1.101 kernel, I have spent two days getting smbmount
to work. First I applied a patch to Samba as well as to <linux/smb_fs.h>
(these are described in

http://x11.dejanews.com/getdoc.xp?AN=355746809&CONTEXT=896118108.191234059

if anyone cares).

Though I could now mount Windows shares, the permissions were quite wrong. I
finally tracked this down to a problem with <linux/smb_mount.h> which uses types
like uid_t. These types turned out to be a problem with glibc2. glibc2 has different
sizes for these than the kernel does, it seems.

However, as smbmnt should pass the struct smb_mount_data to the kernel the types
of the kernel should really be used (as far as I can tell, anyway).

I changed the types to unsigned short which fixed the problem but I believe that
to properly fix this some #ifdef or other magic would have to be applied. I am
unfortunately not capable of figuring out just what would be the correct way.

Now, I am astonished if this should be new to anyone working on this stuff.
However, as the problem exists with the newest versions of Samba and the kernel
(well, a few new kernel versions have come out since) I thought I would still
mention it here. Sorry if this was not the place to discuss this problem.

-- 
Regards, Anders                <URL:http://www.kampsax.dtu.dk/~and/>

Kitman's Law: Pure drivel tends to drive ordinary drivel off the TV screen.

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu