Why do two different CIFS clients show different values of inodes for the same files?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 8
  • CIFS client

Issue

  • Why do two different CIFS clients show different values of inodes for the same files?
  • Below messages are observed during issue:

    CIFS VFS: Autodisabling the use of server inode numbers on [share].
    CIFS VFS: The server doesn't seem to support them properly or the files might be on different servers (DFS).
    CIFS VFS: Hardlinks will not be recognized on this mount. Consider mounting with the "noserverino" option to silence this message.
    

Resolution

  • These messages indicate that the CIFS server does not support returning inode numbers or the CIFS client detects an inode collision. Then the CIFS client enables noserverino option, and will generate unique ids as inode numbers.
  • Check with the CIFS server vendor why returning inode numbers are not supported or inode numbers are duplicated.
  • Workaround option 1: Remount the share to enable serverino option again.
  • Workaround option 2: Mount the share with the noserverino option to prevent the messages.

Root Cause

  • The serverino option is disabled and noserverino is enabled because the CIFS server does not support returning inode numbers or the CIFS client detects an inode collision, and an unique ids which is generated temporary on the client side will be used as inode numbers.
  • For more details of the options, please refer to MOUNT.CIFS(8):

           serverino
                  Use  inode numbers (unique persistent file identifiers) returned
                  by the server  instead  of  automatically  generating  temporary
                  inode  numbers on the client. Although server inode numbers make
                  it easier to spot hardlinked files (as they will have  the  same
                  inode  numbers)  and  inode  numbers may be persistent (which is
                  useful for some software), the server does  not  guarantee  that
                  the  inode numbers are unique if multiple server side mounts are
                  exported under a  single  share  (since  inode  numbers  on  the
                  servers  might not be unique if multiple filesystems are mounted
                  under the same shared higher level directory). Note that not all
                  servers  support  returning server inode numbers, although those
                  that support the CIFS Unix  Extensions,  and  Windows  2000  and
                  later  servers typically do support this (although not necessar‐
                  ily on every local server filesystem). Parameter has  no  effect
                  if  the  server  lacks  support  for  returning inode numbers or
                  equivalent. This behavior is enabled by default.
    
           noserverino
                  Client generates inode numbers  itself  rather  than  using  the
                  actual ones from the server.
    
                  See section INODE NUMBERS for more information.
    

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments