ntfs: fix POSIX vs Win32 filename compares
authorPaulo Alcantara <pcacjr@gmail.com>
Sun, 25 Dec 2011 18:36:19 +0000 (15:36 -0300)
committerPaulo Alcantara <pcacjr@gmail.com>
Sat, 11 Feb 2012 19:06:07 +0000 (16:06 -0300)
When using the COMBOOT32 module "ls" for listining directory entries on
an NTFS volume, for e.g. directories as "/Foobar" (a Win32 filename)
could be only listed as "ls.c32 /foobar" and neither "ls.c32
"/Foobar" nor "ls.c32 /FOOBAR". POSIX filenames must be handled in a
case-sensitivity way, while Win32 filenames are handled in a
non-case-sensitivity way.

Note also that the POSIX/Win32 filename compare is done in the
ntfs_filename_cmp() function.

Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
core/fs/ntfs/ntfs.c

index 463d4e2..a60bf0f 100644 (file)
@@ -687,16 +687,6 @@ static struct inode *ntfs_index_lookup(const char *dname, struct inode *dir)
                     if (ie->flags & INDEX_ENTRY_END)
                         break;
 
-                    /* Do case-sensitive compares for Posix file names */
-                    if (ie->key.file_name.file_name_type == FILE_NAME_POSIX) {
-                        if (ie->key.file_name.file_name[0] > *dname)
-                            break;
-                    } else {
-                        if (tolower(ie->key.file_name.file_name[0]) >
-                            tolower(*dname))
-                            break;
-                    }
-
                     if (ntfs_filename_cmp(dname, ie))
                         goto found;
                 }