[linux-cifs-client] Can't mount smb shares using mount.cifs with 2.6.31 kernel

Jeff Layton jlayton at redhat.com
Fri Oct 16 08:50:07 MDT 2009


On Fri, 16 Oct 2009 10:32:39 -0400
Timothy Normand Miller <theosib at gmail.com> wrote:

> On Fri, Oct 16, 2009 at 8:59 AM, Jeff Layton <jlayton at redhat.com> wrote:
> > On Fri, 16 Oct 2009 01:24:15 -0400
> > Timothy Normand Miller <theosib at gmail.com> wrote:
> >
> >> Hi, everyone.  I'm experiencing a peculiar problem mounting smb
> >> shares, and I hope someone can help.  I've tried googling for this,
> >> but what I come up with seems to be related to much older kernels.
> >>
> >> Since updating to 2.6.31 from 2.6.30, I am no longer able to mount SMB
> >> shares using mount.cifs.  When I try to mount, it behaves as though
> >> the mount succeeded (no error messages anywhere), but the mount point
> >> is empty. If I boot up in 2.6.30, smb mounts work again, so this is
> >> specific to 2.6.31.  Also, I have verified (to the best of my ability)
> >> that my cifs and samba-related kernel configuration parameters are
> >> identical.
> >>
> >> Any idea what might be going on here?
> >>
> >> Thanks.
> >>
> >
> > Not a lot of info to go on here. Maybe read over the LinuxCIFS
> > troubleshooting page (that I just wrote), and gather some of the basic
> > info we'll need to help you.
> >
> > http://wiki.samba.org/index.php/LinuxCIFS_troubleshooting
> >
> 
> 2.6.30-gentoo-r6
> mount.cifs version: 1.12
> 
> The server is an Apple Airport Extreme Base Station with two attached
> external drives.  I have no trouble mounting them from Linux 2.6.30 or
> from Windows machines or Macs.
> 
> Here's what I get in dmesg when I unmount and remount the fs under
> 2.6.30 when debugging is enabled:
> 
>  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 16 with uid: 0
>  fs/cifs/inode.c: Revalidate:  inode 0xffff88022c6c7d68 count 1
> dentry: 0xffff88022c49f3c0 d_time -2129793504 jiffies 4298241016
>  fs/cifs/inode.c: Getting info on
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 78
>  fs/cifs/connect.c: rfc1002 length 0x88
>  fs/cifs/inode.c: Old time 4295679883
>  fs/cifs/inode.c: New time 4298241016
>  fs/cifs/inode.c: cifs_revalidate - inode unchanged
>  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 16) rc = 0
>  fs/cifs/inode.c: CIFS VFS: in cifs_revalidate as Xid: 17 with uid: 0
>  fs/cifs/inode.c: Revalidate:  inode 0xffff88022c6c7d68 count 1
> dentry: 0xffff88022c49f3c0 d_time -2129793504 jiffies 4298241048
>  fs/cifs/inode.c: CIFS VFS: leaving cifs_revalidate (xid = 17) rc = 0
>  fs/cifs/cifsfs.c: CIFS VFS: in cifs_statfs as Xid: 18 with uid: 0
>  fs/cifs/cifssmb.c: In QFSInfo
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 72
>  fs/cifs/connect.c: rfc1002 length 0x54
>  fs/cifs/cifssmb.c: Blocks: 122012668  Free: 31902065 Block size 4096
>  fs/cifs/cifsfs.c: CIFS VFS: leaving cifs_statfs (xid = 18) rc = 0
>  fs/cifs/cifsfs.c: In cifs_put_super
>  fs/cifs/connect.c: CIFS VFS: in cifs_put_tcon as Xid: 19 with uid: 0
>  fs/cifs/cifssmb.c: In tree disconnect
>  fs/cifs/transport.c: For smb_command 113
>  fs/cifs/transport.c: Sending smb:  total_len 39
>  fs/cifs/connect.c: rfc1002 length 0x27
>  fs/cifs/connect.c: CIFS VFS: in cifs_put_smb_ses as Xid: 20 with uid: 0
>  fs/cifs/cifssmb.c: In SMBLogoff for session disconnect
>  fs/cifs/transport.c: For smb_command 116
>  fs/cifs/transport.c: Sending smb:  total_len 43
>  fs/cifs/connect.c: rfc1002 length 0x2b
>  fs/cifs/cifsfs.c: Devname: //timapx/NetworkShared flags: 64
>  fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 21 with uid: 0
>  fs/cifs/connect.c: iocharset set to utf8
>  fs/cifs/connect.c: Username: root
>  fs/cifs/connect.c: UNC: \\timapx\NetworkShared ip: 192.168.1.64
>  fs/cifs/connect.c: Socket created
>  fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo 0x2bc
>  fs/cifs/connect.c: Existing smb sess not found
>  fs/cifs/connect.c: Demultiplex PID: 21955
>  fs/cifs/cifssmb.c: secFlags 0x7
>  fs/cifs/transport.c: For smb_command 114
>  fs/cifs/transport.c: Sending smb:  total_len 60
>  fs/cifs/connect.c: rfc1002 length 0x51
>  fs/cifs/cifssmb.c: Dialect: 0
>  fs/cifs/cifssmb.c: negprot rc 0
>  fs/cifs/connect.c: Security Mode: 0x3 Capabilities: 0x207c TimeAdjust: 14400
>  fs/cifs/transport.c: For smb_command 115
>  fs/cifs/transport.c: Sending smb:  total_len 240
>  fs/cifs/connect.c: rfc1002 length 0x7c
>  fs/cifs/misc.c: Null buffer passed to cifs_small_buf_release
>  fs/cifs/sess.c: ssetup rc from sendrecv2 is 0
>  fs/cifs/sess.c: UID = 0
>  fs/cifs/sess.c: bleft 78
>  fs/cifs/sess.c: serverOS=Apple Base Station
>  fs/cifs/sess.c: serverNOS=CIFS 4.32
>  fs/cifs/sess.c: serverDomain=WORKGROUP
>  fs/cifs/sess.c: ssetup freeing small buf ffff88022aa3cb80
>  fs/cifs/connect.c: CIFS Session Established successfully
>  fs/cifs/connect.c: file mode: 0x5f7  dir mode: 0x1ff
>  fs/cifs/transport.c: For smb_command 117
>  fs/cifs/transport.c: Sending smb:  total_len 100
>  fs/cifs/connect.c: rfc1002 length 0x3c
>  fs/cifs/connect.c: disk share connection
>  fs/cifs/connect.c: nativeFileSystem=FAT32
>  fs/cifs/connect.c: Tcon flags: 0x0
>  fs/cifs/connect.c: CIFS Tcon rc = 0
>  fs/cifs/cifssmb.c: In QFSDeviceInfo
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 72
>  fs/cifs/connect.c: rfc1002 length 0x44
>  fs/cifs/cifssmb.c: In QFSAttributeInfo
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 72
>  fs/cifs/connect.c: rfc1002 length 0x52
>  fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = 21) rc = 0
>  fs/cifs/inode.c: CIFS VFS: in cifs_iget as Xid: 22 with uid: 0
>  fs/cifs/inode.c: Getting info on
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 78
>  fs/cifs/connect.c: rfc1002 length 0x88
>  fs/cifs/inode.c: Old time 0
>  fs/cifs/inode.c: New time 4298241509
> 
> When 2.6.31 boots, ostensibly, it acts as though it was mounted, but I
> do see this in dmesg:
> 
>  CIFS VFS: Error connecting to socket. Aborting operation
>  CIFS VFS: cifs_mount failed w/return code = -111
>  CIFS VFS: Error connecting to socket. Aborting operation
>  CIFS VFS: cifs_mount failed w/return code = -111
>  CIFS VFS: Error connecting to socket. Aborting operation
>  CIFS VFS: cifs_mount failed w/return code = -111
> 
> Here are the debug messages I get when umounting and remounting:
> 
>  fs/cifs/cifsfs.c: Devname: //timapx/NetworkShared flags: 64
>  fs/cifs/connect.c: CIFS VFS: in cifs_mount as Xid: 3 with uid: 0
>  fs/cifs/connect.c: iocharset set to utf8
>  fs/cifs/connect.c: Username: root
>  fs/cifs/connect.c: UNC: \\timapx\NetworkShared ip: 192.168.1.64
>  fs/cifs/connect.c: Socket created
>  fs/cifs/connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo 0x2bc
>  fs/cifs/connect.c: Existing smb sess not found
>  fs/cifs/connect.c: Demultiplex PID: 19187
>  fs/cifs/cifssmb.c: secFlags 0x7
>  fs/cifs/transport.c: For smb_command 114
>  fs/cifs/transport.c: Sending smb:  total_len 60
>  fs/cifs/connect.c: rfc1002 length 0x51
>  fs/cifs/cifssmb.c: Dialect: 0
>  fs/cifs/cifssmb.c: negprot rc 0
>  fs/cifs/connect.c: Security Mode: 0x3 Capabilities: 0x207c TimeAdjust: 14400
>  fs/cifs/sess.c: sess setup type 2
>  fs/cifs/transport.c: For smb_command 115
>  fs/cifs/transport.c: Sending smb:  total_len 240
>  fs/cifs/connect.c: rfc1002 length 0x7c
>  fs/cifs/sess.c: ssetup rc from sendrecv2 is 0
>  fs/cifs/sess.c: UID = 0
>  fs/cifs/sess.c: bleft 78
>  fs/cifs/sess.c: serverOS=Apple Base Station
>  fs/cifs/sess.c: serverNOS=CIFS 4.32
>  fs/cifs/sess.c: serverDomain=WORKGROUP
>  fs/cifs/sess.c: ssetup freeing small buf ffff88022a07fdc0
>  fs/cifs/connect.c: CIFS Session Established successfully
>  fs/cifs/connect.c: file mode: 0x1ed  dir mode: 0x1ed
>  fs/cifs/transport.c: For smb_command 117
>  fs/cifs/transport.c: Sending smb:  total_len 100
>  fs/cifs/connect.c: rfc1002 length 0x3c
>  fs/cifs/connect.c: disk share connection
>  fs/cifs/connect.c: nativeFileSystem=FAT32
>  fs/cifs/connect.c: Tcon flags: 0x0
>  fs/cifs/connect.c: CIFS Tcon rc = 0
>  fs/cifs/cifssmb.c: In QFSDeviceInfo
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 72
>  fs/cifs/connect.c: rfc1002 length 0x44
>  fs/cifs/cifssmb.c: In QFSAttributeInfo
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 72
>  fs/cifs/connect.c: rfc1002 length 0x52
>  fs/cifs/connect.c: CIFS VFS: leaving cifs_mount (xid = 3) rc = 0
>  fs/cifs/inode.c: CIFS VFS: in cifs_root_iget as Xid: 4 with uid: 0
>  fs/cifs/inode.c: Getting info on
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 78
>  fs/cifs/connect.c: rfc1002 length 0x88
>  fs/cifs/cifssmb.c: In GetSrvInodeNum for
>  fs/cifs/transport.c: For smb_command 50
>  fs/cifs/transport.c: Sending smb:  total_len 78
>  fs/cifs/connect.c: rfc1002 length 0x48
>  fs/cifs/inode.c: looking for uniqueid=128957191926360064
>  fs/cifs/inode.c: inode 0xffff880225c48d90 old_time=0 new_time=4294953719
> 
> 
> Does this tell you anything useful?  I could have some other kernel
> parameter wrong, but I couldn't begin to imagine what it might be.
> 

A little. Can you try mounting again with "-o noserverino"? Perhaps
something is wrong with the inode numbers being generated by the server
here...

If that doesn't help, then maybe also capture some debugging info of
you doing an "ls" in the top-level dir after doing the mount.

I doubt this is anything you've done. There were a number of changes in
how inodes are handled under CIFS between 2.6.30 and 2.6.31. It's quite
possible that one of those changes is causing problems with this server.

-- 
Jeff Layton <jlayton at redhat.com>


More information about the linux-cifs-client mailing list