summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-08-03 11:53:44 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-08-05 21:51:34 +0100
commit0fc86022af9a1215558212610e68fcd2c6711e56 (patch)
tree25484efe5624cb7f3314492bd158f8edd40a03f7 /src
parente109126b6ed7cc78834ada640feb3400943dc093 (diff)
downloadlibguestfs-0fc86022af9a1215558212610e68fcd2c6711e56.tar.gz
libguestfs-0fc86022af9a1215558212610e68fcd2c6711e56.tar.xz
libguestfs-0fc86022af9a1215558212610e68fcd2c6711e56.zip
Document problems copying long filenames from NTFS to Linux filesystems (RHBZ#845488).
(cherry picked from commit 7fa67427c6b2725bdcce52c08511f8813b7bd42e)
Diffstat (limited to 'src')
-rw-r--r--src/guestfs.pod22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/guestfs.pod b/src/guestfs.pod
index cd08098c..cc7e613a 100644
--- a/src/guestfs.pod
+++ b/src/guestfs.pod
@@ -699,6 +699,28 @@ replacement will work.
To resolve the case insensitivity of paths, call
L</guestfs_case_sensitive_path>.
+=head3 LONG FILENAMES ON NTFS
+
+NTFS supports filenames up to 255 characters long. "Character" means
+a 2 byte UTF-16 codepoint which can encode the most common Unicode
+codepoints.
+
+Most Linux filesystems support filenames up to 255 I<bytes>.
+This means you may get an error:
+
+ File name too long
+
+when you copy a file from NTFS to a Linux filesystem if the name, when
+reencoded as UTF-8, would exceed 255 bytes in length.
+
+This will most often happen when using non-ASCII names that are longer
+than ~127 characters (eg. Greek, Cyrillic) or longer than ~85
+characters (Asian languages).
+
+A workaround is not to try to store such long filenames on Linux
+native filesystems. Since the L<tar(1)> format can store unlimited
+length filenames, keep the files in a tarball.
+
=head3 ACCESSING THE WINDOWS REGISTRY
Libguestfs also provides some help for decoding Windows Registry