diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 16:25:23 +0000 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2006-03-23 16:25:23 +0000 |
commit | 834ba600cefe6847acaebe5e8e984476dfeebf55 (patch) | |
tree | 55b67a2883e7ad67288ba7a2ad94ff195e7b6ed5 /fs/ntfs/namei.c | |
parent | 20fdcf1d543b1285ef8b1c1993a9221f2eda52dc (diff) | |
download | linux-stable-834ba600cefe6847acaebe5e8e984476dfeebf55.tar.gz linux-stable-834ba600cefe6847acaebe5e8e984476dfeebf55.tar.bz2 linux-stable-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.c | 7 |
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: { |