From 7be97dea91241da8a7ca5f0ff32f320e692fe53f Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Thu, 23 Aug 2012 20:39:35 -0500 Subject: [PATCH] Comments --- src/extract.c | 5 +++++ src/hardlink.c | 8 ++++++++ src/ntfs-apply.c | 18 +++++++++++++++++- src/symlink.c | 13 ++++++++++++- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/extract.c b/src/extract.c index d22f209b..ec6842dc 100644 --- a/src/extract.c +++ b/src/extract.c @@ -2,6 +2,11 @@ * extract.c * * Support for extracting WIM files. + * + * This code does NOT contain any filesystem-specific features. In particular, + * security information (i.e. file permissions) and alternate data streams are + * ignored, except possibly to read an alternate data stream that contains + * symbolic link data. */ /* diff --git a/src/hardlink.c b/src/hardlink.c index b32309fd..c5324e74 100644 --- a/src/hardlink.c +++ b/src/hardlink.c @@ -1,3 +1,11 @@ +/* + * hardlink.c + * + * Code to deal with hard links in WIMs. Essentially, the WIM dentries are put + * into a hash table indexed by the hard link group ID field, then for each hard + * link group, a linked list is made to connect the dentries. + */ + /* * Copyright (C) 2012 Eric Biggers * diff --git a/src/ntfs-apply.c b/src/ntfs-apply.c index 9b10b3e3..6243a914 100644 --- a/src/ntfs-apply.c +++ b/src/ntfs-apply.c @@ -1,3 +1,11 @@ +/* + * ntfs-apply.c + * + * Apply a WIM image to a NTFS volume, restoring everything we can, including + * security data and alternate data streams. There should be no loss of + * information. + */ + /* * Copyright (C) 2012 Eric Biggers * @@ -371,6 +379,14 @@ static int do_wim_apply_image_ntfs(WIMStruct *w, const char *device, int extract return ret; } + +/* + * API entry point for applying a WIM image to a NTFS volume. + * + * Please note that this is a NTFS *volume* and not a directory. The intention + * is that the volume contain an empty filesystem, and the WIM image contain a + * full filesystem to be applied to the volume. + */ WIMLIBAPI int wimlib_apply_image_to_ntfs_volume(WIMStruct *w, int image, const char *device, int flags) { @@ -384,7 +400,7 @@ WIMLIBAPI int wimlib_apply_image_to_ntfs_volume(WIMStruct *w, int image, return WIMLIB_ERR_INVALID_PARAM; } if (flags & (WIMLIB_EXTRACT_FLAG_SYMLINK | WIMLIB_EXTRACT_FLAG_HARDLINK)) { - ERROR("Cannot specifcy symlink or hardlink flags when applying "); + ERROR("Cannot specify symlink or hardlink flags when applying "); ERROR("directly to a NTFS volume"); return WIMLIB_ERR_INVALID_PARAM; } diff --git a/src/symlink.c b/src/symlink.c index aa54e6bd..ca2e422f 100644 --- a/src/symlink.c +++ b/src/symlink.c @@ -1,3 +1,9 @@ +/* + * symlink.c + * + * Code to read and set symbolic links in WIM files. + */ + /* * Copyright (C) 2012 Eric Biggers * @@ -99,7 +105,12 @@ static ssize_t get_symlink_name(const u8 *resource, size_t resource_len, translated_target += 4; link_target_len -= 4; /* There's a drive letter, so just leave the backslashes since - * it won't go anyhwere on UNIX anyway... */ + * it won't go anyhwere on UNIX anyway... + * + * XXX + * NTFS-3g tries to re-map these links to actually point to + * something, so maybe we could do something like that here + * XXX*/ } else { for (size_t i = 0; i < link_target_len; i++) if (translated_target[i] == '\\') -- 2.43.0