Use 64MiB chunks by default for solid LZMS
authorEric Biggers <ebiggers3@gmail.com>
Mon, 16 Feb 2015 01:04:29 +0000 (19:04 -0600)
committerEric Biggers <ebiggers3@gmail.com>
Mon, 16 Feb 2015 06:18:07 +0000 (00:18 -0600)
doc/man1/wimlib-imagex-capture.1
include/wimlib.h
src/wim.c

index 5f54047..8c18a27 100644 (file)
@@ -256,7 +256,7 @@ compression, as these are two different things.
 .TP
 \fB--solid-chunk-size\fR=\fISIZE\fR
 Like \fB--chunk-size\fR, but set the chunk size used in solid resources.  The
-default, assuming LZMS compression, is 32MiB (33554432).  This option only has
+default, assuming LZMS compression, is 64MiB (67108864).  This option only has
 an effect when \fB--solid\fR is also specified.  For maximum compatibility with
 the Microsoft implementation, do not use this option.
 .TP
index c2ecb48..47630bc 100644 (file)
@@ -517,7 +517,7 @@ enum wimlib_compression_type {
         *
         * If using wimlib_create_compressor() to create an LZMS compressor
         * directly, the @p max_block_size parameter may be any positive value
-        * up to and including <c>1180427429</c>.
+        * up to and including <c>2^30</c>.
         */
        WIMLIB_COMPRESSION_TYPE_LZMS = 3,
 };
@@ -2232,7 +2232,7 @@ typedef int (*wimlib_iterate_lookup_table_callback_t)(const struct wimlib_resour
  * all streams recompressed in solid mode.
  *
  * Currently, new solid resources will, by default, be written using LZMS
- * compression with 32 MiB (33554432 byte) chunks.  Use
+ * compression with 64 MiB (67108864 byte) chunks.  Use
  * wimlib_set_output_pack_compression_type() and/or
  * wimlib_set_output_pack_chunk_size() to change this.  This is independent of
  * the WIM's main compression type and chunk size; you can have a WIM that
index 27708e2..4fc02ef 100644 (file)
--- a/src/wim.c
+++ b/src/wim.c
@@ -60,9 +60,9 @@ static u32
 wim_default_solid_chunk_size(int ctype) {
        switch (ctype) {
        case WIMLIB_COMPRESSION_TYPE_LZMS:
-               return 1U << 25; /* 33554432  */
+               return (u32)1 << 26; /* 67108864  */
        default:
-               return 1U << 15; /* 32768     */
+               return (u32)1 << 15; /* 32768     */
        }
 }