linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Samba symlinks and dcache collisions
@ 2015-09-29  2:48 Steve French
  2015-09-29 23:44 ` Jeremy Allison
  0 siblings, 1 reply; 3+ messages in thread
From: Steve French @ 2015-09-29  2:48 UTC (permalink / raw)
  To: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-fsdevel

directory listings of large directories on smb2/smb3 mounts to Samba
sometimes shows the

"Autodisabling the use of server inode numbers ..." message in dmesg.

I have narrowed it down to cases where Samba is displaying symlink
source and target with the same inode number (the client does not know
they are symlinks since Samba does not set that file type when Unix
Extensions are not available).  Interestingly small directories with
either symlinks or hardlinks in them don't cause the client to detect
the inode number collision (which causes the server inode message to
be displayed).

cifs_find_inode in fs/cifs/inode.c has the following check (after
making sure that the inode numbers and mode of the two are the same
and that they are not directories and that their creation time is the
same)

    /* if it's not a directory or has no dentries, then flag it */
    if (S_ISDIR(inode->i_mode) && !hlist_empty(&inode->i_dentry))
        fattr->cf_flags |= CIFS_FATTR_INO_COLLISION;

Not sure what causes the collision in the case of a larger directory
but not a smaller one.  It is puzzling because the source and target
look (to the SMB3 client) similar to hardlinks with the same metadata
except for file name (Samba server does not emulate symlinks as SMB3
symlink reparse points or apple style symlinks so they look more like
hardlinks to the client)

Any ideas?
-- 
Thanks,

Steve

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-30 16:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-29  2:48 Samba symlinks and dcache collisions Steve French
2015-09-29 23:44 ` Jeremy Allison
2015-09-30 16:18   ` Steve French

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).