mksquashfs: replace generic queue with specialised "sequential queue"

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>
3 files changed
tree: cf9f109746a2fe111a82871e24d7236df98c7bc8
  1. kernel/
  2. kernel-2.4/
  3. squashfs-tools/
  4. README