summaryrefslogtreecommitdiffstats
path: root/fs/ntfs/namei.c
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2006-03-23 16:25:23 +0000
committerAnton Altaparmakov <aia21@cantab.net>2006-03-23 16:25:23 +0000
commit834ba600cefe6847acaebe5e8e984476dfeebf55 (patch)
tree55b67a2883e7ad67288ba7a2ad94ff195e7b6ed5 /fs/ntfs/namei.c
parent20fdcf1d543b1285ef8b1c1993a9221f2eda52dc (diff)
downloadlinux-834ba600cefe6847acaebe5e8e984476dfeebf55.tar.gz
linux-834ba600cefe6847acaebe5e8e984476dfeebf55.tar.bz2
linux-834ba600cefe6847acaebe5e8e984476dfeebf55.zip
NTFS: Handle the recently introduced -ENAMETOOLONG return value from
fs/ntfs/unistr.c::ntfs_nlstoucs() in fs/ntfs/namei.c::ntfs_lookup(). Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/namei.c')
-rw-r--r--fs/ntfs/namei.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/ntfs/namei.c b/fs/ntfs/namei.c
index 78e0cf738e24..eddb2247cec5 100644
--- a/fs/ntfs/namei.c
+++ b/fs/ntfs/namei.c
@@ -115,7 +115,9 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
uname_len = ntfs_nlstoucs(vol, dent->d_name.name, dent->d_name.len,
&uname);
if (uname_len < 0) {
- ntfs_error(vol->sb, "Failed to convert name to Unicode.");
+ if (uname_len != -ENAMETOOLONG)
+ ntfs_error(vol->sb, "Failed to convert name to "
+ "Unicode.");
return ERR_PTR(uname_len);
}
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,
/* Return the error code. */
return (struct dentry *)dent_inode;
}
- /* It is guaranteed that name is no longer allocated at this point. */
+ /* It is guaranteed that @name is no longer allocated at this point. */
if (MREF_ERR(mref) == -ENOENT) {
ntfs_debug("Entry was not found, adding negative dentry.");
/* The dcache will handle negative entries. */
@@ -168,7 +170,6 @@ static struct dentry *ntfs_lookup(struct inode *dir_ino, struct dentry *dent,
ntfs_error(vol->sb, "ntfs_lookup_ino_by_name() failed with error "
"code %i.", -MREF_ERR(mref));
return ERR_PTR(MREF_ERR(mref));
-
// TODO: Consider moving this lot to a separate function! (AIA)
handle_name:
{