Commit f94ad38e authored by Anton Altaparmakov's avatar Anton Altaparmakov

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: default avatarAnton Altaparmakov <aia21@cantab.net>
parent 2b0ada2b
...@@ -48,6 +48,9 @@ ToDo/Notes: ...@@ -48,6 +48,9 @@ ToDo/Notes:
- Remove two bogus BUG_ON()s from fs/ntfs/mft.c. - Remove two bogus BUG_ON()s from fs/ntfs/mft.c.
- Fix handling of valid but empty mapping pairs array in - Fix handling of valid but empty mapping pairs array in
fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress(). fs/ntfs/runlist.c::ntfs_mapping_pairs_decompress().
- Report unrepresentable inodes during ntfs_readdir() as KERN_WARNING
messages and include the inode number. Thanks to Yura Pakhuchiy for
pointing this out.
2.1.23 - Implement extension of resident files and make writing safe as well as 2.1.23 - Implement extension of resident files and make writing safe as well as
many bug fixes, cleanups, and enhancements... many bug fixes, cleanups, and enhancements...
......
...@@ -1051,7 +1051,8 @@ static inline int ntfs_filldir(ntfs_volume *vol, loff_t fpos, ...@@ -1051,7 +1051,8 @@ static inline int ntfs_filldir(ntfs_volume *vol, loff_t fpos,
ie->key.file_name.file_name_length, &name, ie->key.file_name.file_name_length, &name,
NTFS_MAX_NAME_LEN * NLS_MAX_CHARSET_SIZE + 1); NTFS_MAX_NAME_LEN * NLS_MAX_CHARSET_SIZE + 1);
if (name_len <= 0) { if (name_len <= 0) {
ntfs_debug("Skipping unrepresentable file."); ntfs_warning(vol->sb, "Skipping unrepresentable inode 0x%llx.",
(long long)MREF_LE(ie->data.dir.indexed_file));
return 0; return 0;
} }
if (ie->key.file_name.file_attributes & if (ie->key.file_name.file_attributes &
......
...@@ -372,7 +372,8 @@ retry: wc = nls->uni2char(le16_to_cpu(ins[i]), ns + o, ...@@ -372,7 +372,8 @@ retry: wc = nls->uni2char(le16_to_cpu(ins[i]), ns + o,
return -EINVAL; return -EINVAL;
conversion_err: conversion_err:
ntfs_error(vol->sb, "Unicode name contains characters that cannot be " ntfs_error(vol->sb, "Unicode name contains characters that cannot be "
"converted to character set %s.", nls->charset); "converted to character set %s. You might want to "
"try to use the mount option nls=utf8.", nls->charset);
if (ns != *outs) if (ns != *outs)
kfree(ns); kfree(ns);
if (wc != -ENAMETOOLONG) if (wc != -ENAMETOOLONG)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment