aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ntfs/namei.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ntfs/namei.c')
-rw-r--r--fs/ntfs/namei.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
index 5ea9eb93af62..eddb2247cec5 100644
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -2,7 +2,7 @@
2 * namei.c - NTFS kernel directory inode operations. Part of the Linux-NTFS 2 * namei.c - NTFS kernel directory inode operations. Part of the Linux-NTFS
3 * project. 3 * project.
4 * 4 *
5 * Copyright (c) 2001-2004 Anton Altaparmakov 5 * Copyright (c) 2001-2006 Anton Altaparmakov
6 * 6 *
7 * This program/include file is free software; you can redistribute it and/or 7 * This program/include file is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as published 8 * modify it under the terms of the GNU General Public License as published
@@ -115,7 +115,9 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
115 uname_len = ntfs_nlstoucs(vol, dent->d_name.name, dent->d_name.len, 115 uname_len = ntfs_nlstoucs(vol, dent->d_name.name, dent->d_name.len,
116 &uname); 116 &uname);
117 if (uname_len < 0) { 117 if (uname_len < 0) {
118 ntfs_error(vol->sb, "Failed to convert name to Unicode."); 118 if (uname_len != -ENAMETOOLONG)
119 ntfs_error(vol->sb, "Failed to convert name to "
120 "Unicode.");
119 return ERR_PTR(uname_len); 121 return ERR_PTR(uname_len);
120 } 122 }
121 mref = ntfs_lookup_inode_by_name(NTFS_I(dir_ino), uname, uname_len, 123 mref = ntfs_lookup_inode_by_name(NTFS_I(dir_ino), uname, uname_len,
@@ -157,7 +159,7 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
157 /* Return the error code. */ 159 /* Return the error code. */
158 return (struct dentry *)dent_inode; 160 return (struct dentry *)dent_inode;
159 } 161 }
160 /* It is guaranteed that name is no longer allocated at this point. */ 162 /* It is guaranteed that @name is no longer allocated at this point. */
161 if (MREF_ERR(mref) == -ENOENT) { 163 if (MREF_ERR(mref) == -ENOENT) {
162 ntfs_debug("Entry was not found, adding negative dentry."); 164 ntfs_debug("Entry was not found, adding negative dentry.");
163 /* The dcache will handle negative entries. */ 165 /* The dcache will handle negative entries. */
@@ -168,7 +170,6 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
168 ntfs_error(vol->sb, "ntfs_lookup_ino_by_name() failed with error " 170 ntfs_error(vol->sb, "ntfs_lookup_ino_by_name() failed with error "
169 "code %i.", -MREF_ERR(mref)); 171 "code %i.", -MREF_ERR(mref));
170 return ERR_PTR(MREF_ERR(mref)); 172 return ERR_PTR(MREF_ERR(mref));
171
172 // TODO: Consider moving this lot to a separate function! (AIA) 173 // TODO: Consider moving this lot to a separate function! (AIA)
173handle_name: 174handle_name:
174 { 175 {