Bug 7286 - `ls` reports one wrong inode id for all files and directorys in mounted samba share.
Summary: `ls` reports one wrong inode id for all files and directorys in mounted samba...
Status: ASSIGNED
Alias: None
Product: Samba 3.4
Classification: Unclassified
Component: Client Tools (show other bugs)
Version: 3.4.0
Hardware: x86 Linux
: P3 critical
Target Milestone: ---
Assignee: Jeff Layton
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-24 04:52 UTC by joshua bacher
Modified: 2010-04-12 11:27 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description joshua bacher 2010-03-24 04:52:44 UTC
Hi Devs,

i'll begin with a short report and later explain what goes wrong.

Systemspec:

smbclient  --version
Version 3.4.0

cat /proc/fs/cifs/DebugData
...

3) Name: 192.168.0.8  Domain: XXXXXXXX Uses: 1 OS: Unix
        NOS: Samba 3.0.22       Capability: 0x80e3fd
        SMB session status: 1   TCP status: 1
        Local Users To Server: 1 SecMode: 0x3 Req On Wire: 0
        Shares:
        1) \\srv-box4\integration Mounts: 1 Type: NTFS DevInfo: 0x0 Attributes: 0x2b
PathComponentMax: 255 Status: 0x1 type: 0

        MIDs:
...

uname -a
Linux deus 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 05:23:09 UTC 2010 i686 GNU/Linux

What happens: 
A ls -i lists all Files in a samba mounted directory with one wrong inode id.

This error does not occur at all times. The share mounted via smbmount as a cifs  does work fine for a unspecified time. I was not able to reliable reproduce this behavior.

Maybe it is caused by a network problem. The server sometimes reports a ,,no route to host'' for the subjected computer. 

What was expected: 
Report all Files and Directorys with individual inode ids.

The link provides a screenshot, that shows what happens.
http://bash-it.net/~bacher/downloads/iNodesFuckedUp_anon.jpg
Comment 1 Jeff Layton 2010-04-08 06:42:37 UTC
What sort of server are you mounting here? When this occurs, do you see anything interesting in dmesg? Any messages like this?

                cERROR(1, ("Autodisabling the use of server inode numbers on "
                           "%s. This server doesn't seem to support them "
                           "properly. Hardlinks will not be recognized on this "
                           "mount. Consider mounting with the \"noserverino\" "
                           "option to silence this message.",
                           cifs_sb_tcon(cifs_sb)->treeName));
Comment 2 joshua bacher 2010-04-12 06:48:54 UTC
I enabled verbosity with 

echo '7' > /proc/fs/cif/cifsFYI

on the client side, but i can't find any such message with

grep 'Autodisabling' syslog.

The server is a samba server running on a linux host.
Comment 3 joshua bacher 2010-04-12 06:51:43 UTC
i forgot to mention, i only made a lookup (grep) on the client side. 

Do you want me to spot the server logs?
Comment 4 Jeff Layton 2010-04-12 07:16:02 UTC
No, what may be more helpful is a wire capture while reproducing this. Please see this page for details on how to do this:

http://wiki.samba.org/index.php/LinuxCIFS_troubleshooting
Comment 5 joshua bacher 2010-04-12 09:16:16 UTC
okay, here is what i did, i started tcpdump

tcpdump -i eth0 -s0 -w /tmp/cifs-traffic.pcap host srv-box5 and port 445
31577 packets captured
31758 packets received by filter
179 packets dropped by kernel

until i got the error again. I then started wireshark, loaded the data in there and dumped it to plain text using export. After that i started the grep over the dumped file with no hit.
Comment 6 Jeff Layton 2010-04-12 10:01:50 UTC
Ahh, sorry if I wasn't clear. I meant that you should get a capture of the traffic on the wire and attach that binary capture here so I can see what's happening there.

Also, can you tell me what sort of file server this is?
Comment 7 joshua bacher 2010-04-12 11:27:10 UTC
i'd really love to provide you with the pcap file. i am just not sure, how to proof that there will be no personal (passwords, hashes, whatsoever) data in there.
Is there a way to just give the file to you, instead of publishing it to the world through this bugzilla?