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 22:48:53 +0100
commit369565a3ac6492586b27c70a651b2af8e28e220a (patch)
tree3135ec97a000121af2ba216c4003f5d2ffe5af17 /src
parent23dcc225c815c7a7c93609e68f884c1561d541c1 (diff)
downloadlibguestfs-369565a3ac6492586b27c70a651b2af8e28e220a.tar.gz
libguestfs-369565a3ac6492586b27c70a651b2af8e28e220a.tar.xz
libguestfs-369565a3ac6492586b27c70a651b2af8e28e220a.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 9292c001..eb74fbf6 100644
--- a/src/guestfs.pod
+++ b/src/guestfs.pod
@@ -645,6 +645,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