Age | Commit message (Collapse) | Author |
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Fix a potential deadlock in Mksquashfs that may be triggerable using
non-default options.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
dir_ent may get updated asyncronously while using it.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
The from_reader queue used to collect all the data queued from
the reader thread (hence its name). Data from the reader thread
is now queued to the to_main queue (uncompressed fragments etc.) and
to the from_reader queue, which is now soley used to queue
blocks to the deflator thread(s). So rename to to_deflate which
now more accurately reflects how it is used.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
The uncompressed fragment buffers are now queued directly
by the reader thread, rather than being queued by the deflate thread(s)
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
The queue now queues buffers sent from both the reader thread and
the deflate thread to the main thread, so the name "from_deflate"
is wrong, change to "to_main" which correctly reflects the queue
usage.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Rather than giving the name of the queue, describe what the
queue does!
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Replace the use of a generic queue and associated code in mksquashfs.c
to re-order out of order buffers (see previous commit) received from
the deflate threads (and reader thread) with a specialised
"sequential queue" that guarantees buffers are delivered in the
order specified in the "sequence" field, and which minimises
unnecessary wake-ups.
It will also ensure that pending queued buffers are held in the
queue rather than being "popped" off and held invisibly in a
structure private to mksquashfs.c. This will also ensure a more
accurate display of queue status when in the queue and cache
dump (generated if control \ is hit twice within one second).
Currently queue status dumping of the seq_queue isn't implemented
so comment that out for the time being.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Previously the filename being Squashed would be printed on hitting
^\, and the queue and cache status would be printed if
SIGHUP was received.
However, sending SIGHUP to generate a queue and cache status dump
is a PITA, it cannot be generated from the keyboard and must be sent
from another terminal window.
Fix this by overloading ^\. Now if ^\ is hit twice within one second
dump the queue and cache status.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Cleanup asprintf error handling. Print an ERROR and
return without doing anything else.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|
|
If ^\ is typed on the keyboard whilst Mksquashfs is squashing files
(progress bar being printed), then display the filename of the
file being squashed.
The progress bar is useful to display how far blockwise/percentage-wise
Mksquashfs has got, but, it doesn't display filenames, and it is
often nice to get a snapshot filewise where Mksquashfs has got to.
Obviously, you can use -info for this, but this is a "heavy-weight"
option which displays every filename, it not only leads to
screenfulls of text, but it also can slow Mksquashfs down as it
is bottlenecked by all the filename printing.
Adding the ^\ option offers a best of both worlds, Mksquashfs
displays the progress bar which gives nice feedback on the
progress of Mksquashfs but in a way which does not generate
lots of text and doesn't slow Mksquashfs down, and typing ^\
gives you the filename of file being squashed but only when
desired, which doesn't generate screenfulls of text or slow
Mksquashfs down.
Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
|