diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-09-08 12:04:11 -0400 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-09-08 12:04:11 -0400 |
commit | f94ad38e68e1623660fdbb063d0c580ba6661c29 (patch) | |
tree | e1ba4ba85b82c636b7c9fd2645422a485a6bf40b | |
parent | 2b0ada2b8e086c267dd116a39ad41ff0a717b665 (diff) |
NTFS: Report unrepresentable inodes during ntfs_readdir() as KERN_WARNING
messages and include the inode number. Thanks to Yura Pakhuchiy for
pointing this out.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
-rw-r--r-- | fs/ntfs/ChangeLog | 3 | ||||
-rw-r--r-- | fs/ntfs/dir.c | 3 | ||||
-rw-r--r-- | fs/ntfs/unistr.c | 3 |
3 files changed, 7 insertions, 2 deletions
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog index 8fe38c80116..45f806fc45f 100644 --- a/fs/ntfs/ChangeLog +++ b/fs/ntfs/ChangeLog | |||
@@ -48,6 +48,9 @@ ToDo/Notes: | |||
48 | - Remove two bogus BUG_ON()s from fs/ntfs/mft.c. | 48 | - Remove two bogus BUG_ON()s from fs/ntfs/mft.c. |
49 | - Fix handling of valid but empty mapping pairs array in | 49 | - Fix handling of valid but empty mapping pairs array in |
50 | fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress(). | 50 | fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress(). |
51 | - Report unrepresentable inodes during ntfs_readdir() as KERN_WARNING | ||
52 | messages and include the inode number. Thanks to Yura Pakhuchiy for | ||
53 | pointing this out. | ||
51 | 54 | ||
52 | 2.1.23 - Implement extension of resident files and make writing safe as well as | 55 | 2.1.23 - Implement extension of resident files and make writing safe as well as |
53 | many bug fixes, cleanups, and enhancements... | 56 | many bug fixes, cleanups, and enhancements... |
diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c index 46779471c54..795c3d1930f 100644 --- a/fs/ntfs/dir.c +++ b/fs/ntfs/dir.c | |||
@@ -1051,7 +1051,8 @@ static inline int ntfs_filldir(ntfs_volume *vol, loff_t fpos, | |||
1051 | ie->key.file_name.file_name_length, &name, | 1051 | ie->key.file_name.file_name_length, &name, |
1052 | NTFS_MAX_NAME_LEN * NLS_MAX_CHARSET_SIZE + 1); | 1052 | NTFS_MAX_NAME_LEN * NLS_MAX_CHARSET_SIZE + 1); |
1053 | if (name_len <= 0) { | 1053 | if (name_len <= 0) { |
1054 | ntfs_debug("Skipping unrepresentable file."); | 1054 | ntfs_warning(vol->sb, "Skipping unrepresentable inode 0x%llx.", |
1055 | (long long)MREF_LE(ie->data.dir.indexed_file)); | ||
1055 | return 0; | 1056 | return 0; |
1056 | } | 1057 | } |
1057 | if (ie->key.file_name.file_attributes & | 1058 | if (ie->key.file_name.file_attributes & |
diff --git a/fs/ntfs/unistr.c b/fs/ntfs/unistr.c index 19c42e231b4..a389a5a16c8 100644 --- a/fs/ntfs/unistr.c +++ b/fs/ntfs/unistr.c | |||
@@ -372,7 +372,8 @@ retry: wc = nls->uni2char(le16_to_cpu(ins[i]), ns + o, | |||
372 | return -EINVAL; | 372 | return -EINVAL; |
373 | conversion_err: | 373 | conversion_err: |
374 | ntfs_error(vol->sb, "Unicode name contains characters that cannot be " | 374 | ntfs_error(vol->sb, "Unicode name contains characters that cannot be " |
375 | "converted to character set %s.", nls->charset); | 375 | "converted to character set %s. You might want to " |
376 | "try to use the mount option nls=utf8.", nls->charset); | ||
376 | if (ns != *outs) | 377 | if (ns != *outs) |
377 | kfree(ns); | 378 | kfree(ns); |
378 | if (wc != -ENAMETOOLONG) | 379 | if (wc != -ENAMETOOLONG) |