]> wimlib.net Git - wimlib/log
wimlib
11 years agoVarious portability fixes
Eric Biggers [Sun, 18 Nov 2012 20:44:46 +0000 (14:44 -0600)]
Various portability fixes

11 years agoConsolidate `struct lookup_table_entry'
Eric Biggers [Sun, 18 Nov 2012 19:01:58 +0000 (13:01 -0600)]
Consolidate `struct lookup_table_entry'

11 years ago--disable-multithreaded-compression option
Eric Biggers [Sun, 18 Nov 2012 18:46:29 +0000 (12:46 -0600)]
--disable-multithreaded-compression option

11 years agoUpdate version number and NEWS
Eric Biggers [Sun, 18 Nov 2012 18:24:26 +0000 (12:24 -0600)]
Update version number and NEWS

(will be a few more updates before a release though.)

11 years ago--threads option and stream writing progress
Eric Biggers [Sun, 18 Nov 2012 18:18:46 +0000 (12:18 -0600)]
--threads option and stream writing progress

11 years agomain_writer_thread_proc(): Add more comments
Eric Biggers [Sun, 18 Nov 2012 08:13:10 +0000 (02:13 -0600)]
main_writer_thread_proc(): Add more comments

11 years agoImplement multi-threaded compression
Eric Biggers [Sun, 18 Nov 2012 07:44:27 +0000 (01:44 -0600)]
Implement multi-threaded compression

11 years agoSet `struct fuse_operations' flags
Eric Biggers [Tue, 13 Nov 2012 00:29:51 +0000 (18:29 -0600)]
Set `struct fuse_operations' flags

Set some flags in `struct fuse_operations'.  Paths are not used by a number of
wimfs functions such as wimfs_read() and wimfs_write(), so flag_nopath can
specified.

11 years agoHeader fix: Add time.h
Eric Biggers [Tue, 13 Nov 2012 00:09:15 +0000 (18:09 -0600)]
Header fix:  Add time.h

NTFS-3g headers seem to require time.h to be included first.

11 years agoMake different threads use different FILE*'s
Eric Biggers [Tue, 13 Nov 2012 00:03:17 +0000 (18:03 -0600)]
Make different threads use different FILE*'s

read_wim_resource() was actually not thread safe because it expects to use the
FILE * WIMStruct.fp.  This commit introduces a table of FILE *'s for each
WIMStruct that are only used if a special flag
WIMLIB_RESOURCE_FLAG_MULTITHREADED is passed to read_wim_resource().

11 years agowimlib_mount(): Disallow mounting newly added image
Eric Biggers [Mon, 12 Nov 2012 22:56:51 +0000 (16:56 -0600)]
wimlib_mount(): Disallow mounting newly added image

11 years agoimagex_mount_rw_or_ro(): Free additional_swms when done
Eric Biggers [Mon, 12 Nov 2012 20:51:29 +0000 (14:51 -0600)]
imagex_mount_rw_or_ro():  Free additional_swms when done

11 years agowimlib_mount(): Refuse to mount split wim read-write
Eric Biggers [Mon, 12 Nov 2012 20:36:09 +0000 (14:36 -0600)]
wimlib_mount():  Refuse to mount split wim read-write

11 years agomake_staging_dir(): Fix comment
Eric Biggers [Mon, 12 Nov 2012 20:27:34 +0000 (14:27 -0600)]
make_staging_dir(): Fix comment

11 years agorebuild_wim(): Fix possible problem with fd closing
Eric Biggers [Mon, 12 Nov 2012 20:19:27 +0000 (14:19 -0600)]
rebuild_wim():  Fix possible problem with fd closing

Use list_for_each_entry_safe() instead of list_for_each_entry() when closing
staging file descriptors, since a lookup table entry may be deleted when its
last file descriptor is closed.

11 years agoIndentation
Eric Biggers [Mon, 12 Nov 2012 20:05:53 +0000 (14:05 -0600)]
Indentation

11 years agoutil.h: Remove cas(), cas_bool() (not used yet)
Eric Biggers [Mon, 12 Nov 2012 19:47:38 +0000 (13:47 -0600)]
util.h: Remove cas(), cas_bool() (not used yet)

11 years agoUse FUSE multi-threaded mode for read-only mounts
Eric Biggers [Mon, 12 Nov 2012 18:42:31 +0000 (12:42 -0600)]
Use FUSE multi-threaded mode for read-only mounts

11 years agoFix rbtree comparison function
Eric Biggers [Mon, 12 Nov 2012 18:04:25 +0000 (12:04 -0600)]
Fix rbtree comparison function

11 years agotest-imagex-*: Set $srcdir correctly
Eric Biggers [Mon, 12 Nov 2012 17:20:00 +0000 (11:20 -0600)]
test-imagex-*:  Set $srcdir correctly

11 years agoUpdate TODO
Eric Biggers [Mon, 12 Nov 2012 06:01:10 +0000 (00:01 -0600)]
Update TODO

11 years agofor_dentry_in_tree(): Remove some gotos
Eric Biggers [Mon, 12 Nov 2012 06:00:48 +0000 (00:00 -0600)]
for_dentry_in_tree(): Remove some gotos

11 years agoNon-recursive for_dentry_in_tree()
Eric Biggers [Mon, 12 Nov 2012 05:41:23 +0000 (23:41 -0600)]
Non-recursive for_dentry_in_tree()

11 years agoRemove link_dentry()
Eric Biggers [Mon, 12 Nov 2012 01:44:26 +0000 (19:44 -0600)]
Remove link_dentry()

Replaced with dentry_add_child().

11 years agoimagex.c: Minor usability improvements
Eric Biggers [Mon, 12 Nov 2012 00:58:26 +0000 (18:58 -0600)]
imagex.c: Minor usability improvements

11 years agoMake wimfs files executable by default
Eric Biggers [Mon, 12 Nov 2012 00:23:22 +0000 (18:23 -0600)]
Make wimfs files executable by default

Also allow chmod(), as long as it doesn't actually change anything.

11 years agoinode_put_fd(): Fix incorrect assertion
Eric Biggers [Mon, 12 Nov 2012 00:10:44 +0000 (18:10 -0600)]
inode_put_fd(): Fix incorrect assertion

11 years agorbtree.c: Delete augmented rbtree functions
Eric Biggers [Sun, 11 Nov 2012 23:57:48 +0000 (17:57 -0600)]
rbtree.c:  Delete augmented rbtree functions

11 years agostruct dentry optimization and stack-based rbtree traversal
Eric Biggers [Sun, 11 Nov 2012 22:47:57 +0000 (16:47 -0600)]
struct dentry optimization and stack-based rbtree traversal

11 years agoStore dentry children in red-black trees
Eric Biggers [Sun, 11 Nov 2012 20:57:09 +0000 (14:57 -0600)]
Store dentry children in red-black trees

Store the children of each dentry in a red-black tree (keyed by the dentry name)
to make dentry lookups faster.

11 years agoAdd rbtree files
Eric Biggers [Sun, 11 Nov 2012 19:04:22 +0000 (13:04 -0600)]
Add rbtree files

11 years agolist.h: Remove unneeded functions
Eric Biggers [Sun, 11 Nov 2012 18:52:10 +0000 (12:52 -0600)]
list.h:  Remove unneeded functions

Only keep the functions from list.h that are actually used by the library.

11 years agotest-imagex-ntfs: Use lazy unmount
Eric Biggers [Mon, 5 Nov 2012 20:58:38 +0000 (14:58 -0600)]
test-imagex-ntfs:  Use lazy unmount

Apparently, it's possible for 'fusermount -u' to return before a NTFS-3g-based
filesystem has actually unmounted, therefore causing a subsequent mount to the
same location to fail if it happens quickly enough.  Using a lazy unmount should
fix this I think...

11 years agoimagex.c: Remove unused swap() macro
Eric Biggers [Tue, 30 Oct 2012 01:21:56 +0000 (20:21 -0500)]
imagex.c: Remove unused swap() macro

11 years agoFix date in ChangeLog
Eric Biggers [Tue, 30 Oct 2012 01:18:47 +0000 (20:18 -0500)]
Fix date in ChangeLog

11 years agoFix links in wimlib.h generated docs
Eric Biggers [Tue, 30 Oct 2012 00:44:15 +0000 (19:44 -0500)]
Fix links in wimlib.h generated docs

11 years agoFix man page reference in README
Eric Biggers [Tue, 30 Oct 2012 00:41:31 +0000 (19:41 -0500)]
Fix man page reference in README

11 years agoUpdate archlinux/PKGBUILD
Eric Biggers [Tue, 30 Oct 2012 00:41:19 +0000 (19:41 -0500)]
Update archlinux/PKGBUILD

11 years agoVersion 1.0.4 v1.0.4
Eric Biggers [Tue, 30 Oct 2012 00:23:08 +0000 (19:23 -0500)]
Version 1.0.4

11 years agoCheck for ntfs_xattr_system_setxattr() instead of ntfs_mount()
Eric Biggers [Tue, 30 Oct 2012 00:17:26 +0000 (19:17 -0500)]
Check for ntfs_xattr_system_setxattr() instead of ntfs_mount()

11 years agoReorganize README and add OpenSSL info
Eric Biggers [Mon, 29 Oct 2012 16:38:13 +0000 (16:38 +0000)]
Reorganize README and add OpenSSL info

11 years agoDebian package updates
Eric Biggers [Mon, 29 Oct 2012 05:11:15 +0000 (05:11 +0000)]
Debian package updates

11 years agoEXTRA_DIST rpm, archlinux
Eric Biggers [Mon, 29 Oct 2012 03:33:20 +0000 (22:33 -0500)]
EXTRA_DIST rpm, archlinux

11 years agoSeptember => October
Eric Biggers [Mon, 29 Oct 2012 03:27:14 +0000 (22:27 -0500)]
September => October

11 years agoVarious packaging issues
Eric Biggers [Mon, 29 Oct 2012 03:23:06 +0000 (22:23 -0500)]
Various packaging issues

- Use utime() instead of lutimes() if lutimes() is not available or is not
  implemented
- Add a spec file for building without libntfs-3g, and a spec file for building
  with neither fuse nor libntfs-3g
- Print some possibly helpful text if mounting a WIM for the first time fails in
  the test script

11 years ago$srcdir fix
Eric Biggers [Mon, 29 Oct 2012 01:37:50 +0000 (20:37 -0500)]
$srcdir fix

11 years agoFix tests (again)
Eric Biggers [Mon, 29 Oct 2012 01:32:54 +0000 (20:32 -0500)]
Fix tests (again)

11 years agoimagex.c: Free additional_swms when done with it
Eric Biggers [Mon, 29 Oct 2012 00:13:00 +0000 (19:13 -0500)]
imagex.c: Free additional_swms when done with it

11 years agoSkip mount tests when --without-fuse
Eric Biggers [Mon, 29 Oct 2012 00:04:49 +0000 (19:04 -0500)]
Skip mount tests when --without-fuse

11 years agotree-cmp without xattr
Eric Biggers [Mon, 29 Oct 2012 00:01:24 +0000 (19:01 -0500)]
tree-cmp without xattr

11 years agoRun NTFS tests when --without-ntfs-3g
Eric Biggers [Sun, 28 Oct 2012 22:53:19 +0000 (17:53 -0500)]
Run NTFS tests when --without-ntfs-3g

11 years agoMessage queue name calculation
Eric Biggers [Sun, 28 Oct 2012 21:12:43 +0000 (16:12 -0500)]
Message queue name calculation

- Use absolute path for directory name instead of base name.  This avoids issues
  with multiple directories with the same name, with trailing slashes on the
  directory name, and with symbolic links.
- Substitute slashes in the directory path with character 0xff to form a valid
  message queue name and avoid possible conflicts with real pathnames.
- Truncate the message queue name if it comes out to more than NAME_MAX bytes.

11 years agoDocument wimlib_mount() as "thread-safe"
Eric Biggers [Sun, 28 Oct 2012 20:36:50 +0000 (15:36 -0500)]
Document wimlib_mount() as "thread-safe"

11 years agoAdd multi-mount program
Eric Biggers [Sun, 28 Oct 2012 20:22:15 +0000 (15:22 -0500)]
Add multi-mount program

11 years agomount.c tweaks
Eric Biggers [Sun, 28 Oct 2012 20:06:34 +0000 (15:06 -0500)]
mount.c tweaks

11 years agoFixes to get rid of various compiler warnings
Eric Biggers [Sun, 28 Oct 2012 19:46:25 +0000 (14:46 -0500)]
Fixes to get rid of various compiler warnings

11 years agowimfs_destroy(), wimlib_unmount()
Eric Biggers [Sun, 28 Oct 2012 19:20:54 +0000 (14:20 -0500)]
wimfs_destroy(), wimlib_unmount()

11 years agoGet rid of static variables in mount.c
Eric Biggers [Sun, 28 Oct 2012 18:58:36 +0000 (13:58 -0500)]
Get rid of static variables in mount.c

Introduce `struct wimfs_context' that is passed as FUSE private data and
retrieved through fuse_get_context().

11 years agoCleanup wimlib_mount() preparations
Eric Biggers [Sun, 28 Oct 2012 17:24:47 +0000 (12:24 -0500)]
Cleanup wimlib_mount() preparations

11 years agowrite_xml_data() cleanup
Eric Biggers [Sun, 28 Oct 2012 06:46:00 +0000 (01:46 -0500)]
write_xml_data() cleanup

11 years ago#ifdef WITH_NTFS_3g in clone_lookup_table_entry()
Eric Biggers [Sun, 28 Oct 2012 06:30:21 +0000 (01:30 -0500)]
#ifdef WITH_NTFS_3g in clone_lookup_table_entry()

11 years agoUse __builtin_bswap64() only if supported
Eric Biggers [Sun, 28 Oct 2012 06:28:18 +0000 (01:28 -0500)]
Use __builtin_bswap64() only if supported

11 years agoClose out_fp in finish_write()
Eric Biggers [Sun, 28 Oct 2012 06:23:30 +0000 (01:23 -0500)]
Close out_fp in finish_write()

11 years agocopy_resource_to_swm(): Move strcat() to sprintf()
Eric Biggers [Sun, 28 Oct 2012 06:10:36 +0000 (01:10 -0500)]
copy_resource_to_swm(): Move strcat() to sprintf()

11 years agostruct args => struct split_args
Eric Biggers [Sun, 28 Oct 2012 06:07:47 +0000 (01:07 -0500)]
struct args => struct split_args

11 years agoFix doc for wimlib_join()
Eric Biggers [Sun, 28 Oct 2012 06:01:51 +0000 (01:01 -0500)]
Fix doc for wimlib_join()

11 years agoFix verify_dentry()
Eric Biggers [Sun, 28 Oct 2012 05:51:26 +0000 (00:51 -0500)]
Fix verify_dentry()

11 years agoMetadata resource compatibility
Eric Biggers [Sun, 28 Oct 2012 05:47:15 +0000 (00:47 -0500)]
Metadata resource compatibility

For compatibility with 7zip, do not write any extra random bytes to the end of
the metadata resources.

This means that without adding some other source of random output, adding
identical images will result in identical metadata resources.  This is still
allowed, but for compatibility with ImageX, lookup table entries are duplicated
rather than shared.

11 years agoUpdate dentry, security data reading
Eric Biggers [Sun, 28 Oct 2012 04:08:53 +0000 (23:08 -0500)]
Update dentry, security data reading

11 years agoCleanup WIM writing
Eric Biggers [Sun, 28 Oct 2012 02:59:10 +0000 (21:59 -0500)]
Cleanup WIM writing

11 years agoCleanup imagex.c
Eric Biggers [Sat, 27 Oct 2012 16:57:25 +0000 (11:57 -0500)]
Cleanup imagex.c

11 years agoRemove more trailing whitespace
Eric Biggers [Fri, 26 Oct 2012 21:35:32 +0000 (16:35 -0500)]
Remove more trailing whitespace

11 years agoVarious cleanups
Eric Biggers [Fri, 26 Oct 2012 21:31:30 +0000 (16:31 -0500)]
Various cleanups

11 years agodo_add_image(): Set boot_idx directly
Eric Biggers [Fri, 26 Oct 2012 19:51:40 +0000 (14:51 -0500)]
do_add_image(): Set boot_idx directly

11 years agoReturn WIMLIB_ERR_NOMEM if security data cannot be allocated
Eric Biggers [Fri, 26 Oct 2012 19:45:30 +0000 (14:45 -0500)]
Return WIMLIB_ERR_NOMEM if security data cannot be allocated

11 years agowimlib_select_image() => select_wim_image()
Eric Biggers [Fri, 26 Oct 2012 19:40:22 +0000 (14:40 -0500)]
wimlib_select_image() => select_wim_image()

wimlib_select_image() has for some time no longer been an external function, so
rename it to select_wim_image().

11 years agoxpress_compress(): Initialize all data written
Eric Biggers [Fri, 26 Oct 2012 17:57:14 +0000 (12:57 -0500)]
xpress_compress(): Initialize all data written

- Make sure the flushing of the bitstream and the finishing of the compressed
  data is done properly.

- Fix indentation and whitespace.

- Zero out chunk table before writing it.

11 years agofix_true_inode(): Add ref_inode to inode_list
Eric Biggers [Fri, 26 Oct 2012 04:23:46 +0000 (23:23 -0500)]
fix_true_inode(): Add ref_inode to inode_list

11 years agobuild_dentry_tree() fix error paths
Eric Biggers [Fri, 26 Oct 2012 01:10:49 +0000 (20:10 -0500)]
build_dentry_tree() fix error paths

11 years agoadd image cleanups
Eric Biggers [Thu, 25 Oct 2012 22:59:11 +0000 (17:59 -0500)]
add image cleanups

11 years agoimage delete cleanup
Eric Biggers [Thu, 25 Oct 2012 22:21:51 +0000 (17:21 -0500)]
image delete cleanup

11 years agoFunction doc updates
Eric Biggers [Thu, 25 Oct 2012 21:59:48 +0000 (16:59 -0500)]
Function doc updates

11 years agowimlib.spec.in: Another update
Eric Biggers [Thu, 25 Oct 2012 21:35:45 +0000 (16:35 -0500)]
wimlib.spec.in: Another update

11 years agowimlib_export() updates
Eric Biggers [Sun, 21 Oct 2012 20:56:45 +0000 (15:56 -0500)]
wimlib_export() updates

- Roll back changes if the function fails.
- Allow exporting an image that was just added with wimlib_add_image().

11 years agoCleanup image export code
Eric Biggers [Sun, 21 Oct 2012 16:54:58 +0000 (11:54 -0500)]
Cleanup image export code

11 years agotest-imagex-ntfs: Error message if ntfs-3g not setuid root
Eric Biggers [Sun, 21 Oct 2012 16:19:51 +0000 (11:19 -0500)]
test-imagex-ntfs: Error message if ntfs-3g not setuid root

11 years agoClean up spec file
Eric Biggers [Sun, 21 Oct 2012 16:18:47 +0000 (11:18 -0500)]
Clean up spec file

11 years agoto_leXX() -> cpu_to_leXX(), leXX_to_cpu()
Eric Biggers [Tue, 2 Oct 2012 16:56:46 +0000 (11:56 -0500)]
to_leXX() -> cpu_to_leXX(), leXX_to_cpu()

Split the macros to_leXX() into separate macros for converting *from* in-memory
little endian *to* the correct in-CPU value, and for converting *from* a correct
in-CPU value *to* in-memory little-endian.  In reality these macros are defined
the same, but it makes sense to distinguish the cases (as is done in other
projects such as the Linux kernel).

By the way, wimlib still has NOT actually been tested on big-endian systems.

11 years agoprint_security_descriptor(): Do not modify const data
Eric Biggers [Tue, 2 Oct 2012 16:38:41 +0000 (11:38 -0500)]
print_security_descriptor(): Do not modify const data

11 years agoextract_wim_resource_to_fd(): Handle full_write() retval correctly
Eric Biggers [Sun, 30 Sep 2012 21:55:49 +0000 (16:55 -0500)]
extract_wim_resource_to_fd(): Handle full_write() retval correctly

11 years agoimagex capture/append: --verbose implies verbose write
Eric Biggers [Sun, 30 Sep 2012 21:34:46 +0000 (16:34 -0500)]
imagex capture/append: --verbose implies verbose write

11 years agoimagex-capture.1.in: times captured to nearest 100 ns
Eric Biggers [Sun, 30 Sep 2012 21:05:57 +0000 (16:05 -0500)]
imagex-capture.1.in:  times captured to nearest 100 ns

11 years agoimagex.1.in: Fix errors
Eric Biggers [Sun, 30 Sep 2012 21:03:40 +0000 (16:03 -0500)]
imagex.1.in: Fix errors

11 years agoAdd 'GNU/Linux equivalents of WIM format' section to README
Eric Biggers [Sat, 22 Sep 2012 20:37:40 +0000 (15:37 -0500)]
Add 'GNU/Linux equivalents of WIM format' section to README

11 years agotest-imagex-ntfs: fix msg, mount without allow_other
Eric Biggers [Sat, 22 Sep 2012 15:16:35 +0000 (10:16 -0500)]
test-imagex-ntfs: fix msg, mount without allow_other

11 years agoUpdate README
Eric Biggers [Mon, 17 Sep 2012 02:48:54 +0000 (21:48 -0500)]
Update README

11 years agowimfs_readlink(): Use wim_pathname_to_inode()
Eric Biggers [Sun, 16 Sep 2012 19:32:50 +0000 (14:32 -0500)]
wimfs_readlink(): Use wim_pathname_to_inode()

11 years agoFix test-imagex-ntfs messages
Eric Biggers [Thu, 13 Sep 2012 20:22:44 +0000 (15:22 -0500)]
Fix test-imagex-ntfs messages

11 years agoFix a compiler warning
Eric Biggers [Thu, 13 Sep 2012 16:00:37 +0000 (11:00 -0500)]
Fix a compiler warning

11 years agoFix up LZ77 compression code and prepare v1.0.3 v1.0.3
Eric Biggers [Tue, 11 Sep 2012 01:01:29 +0000 (20:01 -0500)]
Fix up LZ77 compression code and prepare v1.0.3