Okay, I've checked in a slew of files to LKCD. Here's the gist
of what's been done:
1) Moving away from vmdump.c to dump.c, since dumping is taking
on a context of being more than vm, per se.
2) Dumping is now configured via an ioctl() on the dump device.
The dump device is /dev/dump, and is used for all dump
configuration. The old method of writing to /proc is gone,
replaced by an ioctl() interface. So you open() /dev/dump,
then you ioctl(fd, DIOSDUMPDEV, 0x304), where /dev/hda4 might
be 0x304.
3) The dump code can now be built as a module. If you use the
new module code added to LKCD, you should be able to do module
dumps (yea!)
4) Dump compression is now implemented as a separate component
built into the kernel via a list. For example, if you build
dump as a module, you can also build dump_rle as a module as
well. I haven't finished the gzip module (still putting in
the deflate() code), but that's the next step.
Still left to do on my list:
1) Fix the rest of the SMP dumping issues;
2) Added dump_gzip.c support (rather, finished what I've checked
into the 2.4 tree in the SourceForge repository);
3) Add gzip support to lcrash (libklib);
4) Check in 'dumpconfig', which will be the dump configuration
utility (dumpconfig -s /dev/hda4 -l 8 -f 2 -c 1, for example).
This leads to (5), which is ...
5) Change all the dump scripts to use 'dumpconfig', and;
6) Create a new RPM image and new release for 4.0.
... and if I can finish it before 4.0 ...
7) Add dump block and char operations for devices in order to
support raw dumping in the future (per Andrea).
See some of you at LinuxWorld. I'll be there Tuesday and Thursday.
--Matt
Checking in the latest snapshot of the LKCD 4.0 release. This builds an
entirely new base driver that moves compression to an external module,
builds as a module, and is now tuned and configured via an ioctl()
rather than the old /proc interface. Voila.
Copying lkcd@xxxxxxxxxxx for details. I'll include a patch in the mail
tomorrow morning, but in the meantime, if you play with this stuff,
check
it out and let me know what you think.
CVS:
----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: Makefile Documentation/Configure.help arch/i386/config.in
CVS: arch/i386/boot/Makefile arch/i386/boot/install.sh
CVS: arch/i386/kernel/Makefile arch/i386/kernel/smp.c
CVS: arch/i386/kernel/smpboot.c arch/i386/kernel/traps.c
CVS: arch/i386/mm/init.c drivers/block/Makefile
CVS: drivers/block/vmdump.c drivers/char/sysrq.c
CVS: include/linux/vmdump.h init/kerntypes.c init/main.c
CVS: kernel/ksyms.c kernel/panic.c kernel/sched.c
CVS: Added Files:
CVS: arch/i386/kernel/dump.c drivers/block/dump.c
CVS: drivers/block/dump_gzip.c drivers/block/dump_rle.c
CVS: drivers/block/dump_zlib.h include/asm-alpha/dump.h
CVS: include/asm-i386/dump.h include/asm-ia64/dump.h
CVS: include/linux/dump.h
CVS:
----------------------------------------------------------------------
Checking in changes for the new set of dump mechanisms with LKCD 4.0.
We've changed the kernel dumping code from vmdump.c to dump.c, so this
makes things work "better" as far as dumping is concerned.
Things left to fix/add:
1) Remove old uncompress mechanism which relies solely on RLE. This
has to be expanded to look at the dh_dump_compress field in the
header to look for RLE, GZIP, or whatever.
2) Add inflate() mechanisms to the libklib compression code.
3) Correct live dumping to be able to use GZIP compression.
CVS:
----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: lcrash/vmdump.c lcrash/cmds/cmd_livedump.c libklib/kl_cmp.c
CVS: libklib/kl_savedump.c libklib/kl_util.c libklib/include/klib.h
CVS: libklib/include/vmdump.h
CVS: Added Files:
CVS: libklib/include/dump.h libklib/include/asm-i386/dump.h
CVS: libklib/include/asm-ia64/dump.h
CVS: libklib/include/asm-s390/dump.h
CVS:
----------------------------------------------------------------------
|