Re: [2.6 patch] remove smbfs

Jan Engelhardt
2008-01-31T11:19:02Z

On Jan 30 2008 19:23, Steve French wrote:
>> On Jan 30 2008 12:53, Steve French wrote:
>> >I have mounted to Windows98 a few months ago with no problems (other
>> >than a few restrictions like you can't set the file times via utimes).
>> > For mounts to Windows98 note that you have to specify the server
>> >netbios name on the mount (since it is not the same as the DNS name).
>> >In your example your would need to specify "servernetbiosname=WIN98"
>> >in the mount options (until mount.cifs autoretries with
>> >servernetbiosname assumed to be the beginning of the UNC name - note
>> >that later servers have a dummy netbios name that is used so this
>> >mount option is only needed for OS/2 and Win9x).
>>
>> Ok that works. I had tried "netbiosname" but not "servernetbiosname"
>> (only fuzzy memories from the last win98 encounter and the suggestion
>> to use netbiossomething).
>>
>> I think servernetbiosname should implicitly be assumed to be the
>> same as the //hostpart/ when it's not explicitly specified, no?
>
>Unfortunately, it is not quite that easy since there is a default
>"dummy" netbiosname that you are supposed to specify.
>[...]
>There is retry which can be tried. When the server does not listen on
>port 445 and mount fails to *SMBSERVER on port 139 (and retry using
>the uppercased tcp name as the netbios name fails) - we can try to do
>an "adapter status" rfc1001 call to the ip address of the target and
>pick the first netbiosname (or at least the first one that ends with
>the server suffix - ie a byte of 0x20 for byte 16 of the netbios
>name). This complicates the mount.cifs helpers retry logic and
>adding rfc1001 adapter status code into the kernel also would be a few
>hundred lines of kernel code for little benefit if any for current
>servers, but it could be done. Simply adding the one retry (for
>failed mounts using servernetbiosname=<target-host-name> would
>probably take care of most cases.
>
Yes, that is what I'd like, the simple retry with the servernetbiosname
taken from //foo/. Querying adapter and all that seems unnecessary since
if I say //foo/, I really mean servernetbiosname=foo,ip=<resolve foo>
not servernetbiosname=bar,ip=<resolve foo>.