Skip to main content

Case-sensitivity of file and directory names in a multiprotocol environment

Contributors netapp-mdavidson netapp-ahibbard

File and directory names are case-sensitive for NFS clients and case-insensitive but case-preserving for SMB clients. You must understand what the implications are in a multiprotocol environment and the actions you might need to take when specifying the path while creating SMB shares and when accessing data within the shares.

If an SMB client creates a directory named testdir, both SMB and NFS clients display the file name as testdir. However, if an SMB user later tries to create a directory name TESTDIR, the name is not allowed because, to the SMB client, that name currently exists. If an NFS user later creates a directory named TESTDIR, NFS and SMB clients display the directory name differently, as follows:

  • On NFS clients, you see both directory names as they were created, for example testdir and TESTDIR, because directory names are case-sensitive.

  • SMB clients use the 8.3 names to distinguish between the two directories. One directory has the base file name. Additional directories are assigned an 8.3 file name.

    • On SMB clients, you see testdir and TESTDI~1.

    • ONTAP creates the TESTDI~1 directory name to differentiate the two directories.

      In this case, you must use the 8.3 name when specifying a share path while creating or modifying a share on a storage virtual machine (SVM).

Similarly for files, if an SMB client creates test.txt, both SMB and NFS clients display the file name as text.txt. However, if an SMB user later tries to create Test.txt, the name is not allowed because, to the SMB client, that name currently exists. If an NFS user later creates a file named Test.txt, NFS and SMB clients display the file name differently, as follows:

  • On NFS clients, you see both file names as they were created, test.txt and Test.txt, because file names are case-sensitive.

  • SMB clients use the 8.3 names to distinguish between the two files. One file has the base file name. Additional files are assigned an 8.3 file name.

    • On SMB clients, you see test.txt and TEST~1.TXT.

    • ONTAP creates the TEST~1.TXT file name to differentiate the two files.

Note

If a character mapping has been created using the Vserver CIFS character-mapping commands, a Windows lookup that would normally be case-insensitive can become case-sensitive. This means that filename lookups will only be case-sensitive if the character mapping has been created and the filename is using that character mapping.