[linux-cifs-client] kernel BUG at /tmp/cifs-2.6-devel/fs/cifs/cifs_dfs_ref.c:274!

Q (Igor Mammedov) niallain at gmail.com
Sat Sep 20 08:49:42 GMT 2008


On Sat, Sep 20, 2008 at 3:53 AM, Jeff Layton <jlayton at redhat.com> wrote:
> On Fri, 19 Sep 2008 16:30:04 -0400 (EDT)
> "Peter J. Desnoyers" <pjd at ccs.neu.edu> wrote:
>
>> Jeff Layton wrote:
>>
>> > What's the actual mount command you're using here? Particularly the
>> > "device" argument of the mount.
>>
>> > PS: looks like the capture shows the machine claiming to be a Win2k3
>> > box...
>>
>> mount -t cifs -o user=ccis-windows/pjd //ccis-windows/ccis/MyHome ~/MyHome
>>
>> It's possible that the windows server (ccis-windows) is using some sort of DFS trickery to hand off the mount - the same file system is mounted via NFS on another system of mine, and the NFS server is definitely a netapp. (ether 00:a0:98, while ccis-windows has an Intel ether address)
>>
>
> cc'ing Igor and Steve...
>
> That's definitely the case. The trace shows a tree connect
> to //ccis-windows/ccis, and then it does a querypathinfo on MyHome,
> which appears to be a DFS share. What happens is that the client then
> tries to chase that referral and trips over this in
> cifs_dfs_follow_mountpoint():
>
> +       BUG_ON(IS_ROOT(dentry));
>
> Since the DFS referral is the root of the mount, this makes it crash
> the box.
>
> You should be able to work around this for now by not mounting MyHome
> directly. Mount the ccis share and symlink to MyHome under it or
> something or just mount the target of the referral directly.
>
> I think rather than a BUG() here, it would be good to refuse to mount
> the share or to chase the referral during the mount phase and not
> bother mounting the DFS root at all.
>
> Igor, any thoughts?

Steve,
In case of mounting DFS root
cifs_mount is not able to detect error because we ignore
return value returned on this line:
2274                         CIFSSMBQFSDeviceInfo(xid, tcon);

I'm planing to split cifs_mount/cifs_umount into several small functions
so that it would be easier to add support for mounting DFS root.

Peter,
Could you provide a binary dump of a flow to dst port 445 from your client.
That will help to understand what's going on.

>
> --
> Jeff Layton <jlayton at redhat.com>
>


More information about the linux-cifs-client mailing list