From 712fcb1eca65eca04ba58db851db8f51b7897ea0 Mon Sep 17 00:00:00 2001 From: Anton Altaparmakov Date: Thu, 23 Mar 2006 16:25:23 +0000 Subject: [PATCH] --- yaml --- r: 23345 b: refs/heads/master c: 834ba600cefe6847acaebe5e8e984476dfeebf55 h: refs/heads/master i: 23343: 7a03dcd6865c368ce3981ee98cfd49b3e02ad982 v: v3 --- [refs] | 2 +- trunk/fs/ntfs/ChangeLog | 4 ++-- trunk/fs/ntfs/namei.c | 7 ++++--- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 13dcdc25f646..ac89fffb2c25 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 20fdcf1d543b1285ef8b1c1993a9221f2eda52dc +refs/heads/master: 834ba600cefe6847acaebe5e8e984476dfeebf55 diff --git a/trunk/fs/ntfs/ChangeLog b/trunk/fs/ntfs/ChangeLog index d20031587bbb..9fb08ef3a7f8 100644 --- a/trunk/fs/ntfs/ChangeLog +++ b/trunk/fs/ntfs/ChangeLog @@ -16,8 +16,6 @@ ToDo/Notes: inode having been discarded already. Whether this can actually ever happen is unclear however so it is worth waiting until someone hits the problem. - - Enable the code for setting the NT4 compatibility flag when we start - making NTFS 1.2 specific modifications. 2.1.27 - Various bug fixes and cleanups. @@ -43,6 +41,8 @@ ToDo/Notes: have an index allocation attribute failed. - Add a missing call to flush_dcache_mft_record_page() in fs/ntfs/inode.c::ntfs_write_inode(). + - Handle the recently introduced -ENAMETOOLONG return value from + fs/ntfs/unistr.c::ntfs_nlstoucs() in fs/ntfs/namei.c::ntfs_lookup(). 2.1.26 - Minor bug fixes and updates. diff --git a/trunk/fs/ntfs/namei.c b/trunk/fs/ntfs/namei.c index 78e0cf738e24..eddb2247cec5 100644 --- a/trunk/fs/ntfs/namei.c +++ b/trunk/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: {