o Fix module ref counts so that you can actually unload dm-mod
N.B. This means that you have to take very great care in the event that
you want to access the dcache tree from in kernel
o Added extra field to allow out of memory conditions to result in the
correct error code. (This hasn't received a lot of testing...)
I've ditched the final project (which would have cleared my whole list)
since its got other complications which I don't have time to fix right
now. Still as Meatloaf says, two out of three ain't bad!
Alasdair Kergon [Fri, 9 Nov 2001 22:01:04 +0000 (22:01 +0000)]
o Added lvextend
o Full signed arguments to lvreduce/lvextend
o Consistent lv_number/pe map use
o Populate pv->pe_allocated
o Fixes for allocation/writing of multiple LVs
o Created dmfs.h as a private header for the filesystem code
o Using seq_file.[ch] written by Al Viro as a generic mechanism for /proc
style files which have one record per line. We use a slight modification
here, so if you are using a recent -ac kernel you'll need to replace the
existing seq_file.[ch] with the ones here and do a bit of editing to make
it work. I'll submit the changes to Al Viro shortly as they are very
small and I think make sense generally.
o Using fail_writepage()
o Init code for filesystem now all in dmfs-super.c
o Some common code reduction amoung the dmfs-*.c files
o Auto allocation of major device number (default). You can specify a
particular major by using a module argument. If built in then you don't
get this option at the moment but it could be added if required.
o Hotplug support
o General tidying
o Updated projects.txt file
o Patches updated to 2.4.14
Please add to/edit this file as you think of new ideas or discover bugs. The
items in it are in no particular order. They are also only ideas and hence may
never get implemented depending on whether they turn out to be good ideas or
not.
o Fix bug in dmfs-error.c where it could return too many bytes under some
circumstances.
o Use sscanf() in dmfs-table.c
o Use do_generic_file_read() instead of original hand made loop in dmfs-table.c
Joe Thornber [Mon, 22 Oct 2001 14:14:00 +0000 (14:14 +0000)]
o Filter which caches valid devices in a file. Pass in init == 1 to the
constructor if you want it to ignore the existing cache and check every
device again (eg, vgscan, pvscan).
Joe Thornber [Fri, 19 Oct 2001 14:36:57 +0000 (14:36 +0000)]
o First pass at the regex code. lib/regex/matcher takes an array of regex's
and builds a *very* efficient engine that will tell you which regex a string
matches with only a single pass through the string. To be used in the config
file when specifying devices.
o Anchor's aren't supported yet (^ and $) but that won't take long.
o Also when we get some realistic config files we may want to consider adding an
extra level of indirection to the dfa state in order to compress the table.
It all depends on how large typical tables get.
Ok. this is the big one.... the change to the new fs interface.
Things to note:
o Changes to the dm-*.c files have been kept as small as possible during
the development of the new fs interface and there are a few places where
the new code does odd things to give the original code what it wants. These
places will gradually go away during the next few days once we are sure the
new code is sound.
o I've spent most of my testing time looking at the parser since thats where
a lot of the changes are, I've not checked the actual I/O very much, but
then that code hasn't changed at all.
o The print operation in the target type operations is there to help in
debugging and will go away eventually
o There are some other printk's which will also go away once we are sure that
things are working correctly.
o I've tagged the old code with PRE_DMFS if you want to use that until this is
stable.
o There are no kernel patches for this yet (will fix after lunch... :-)
o Makefile needs some changes
o need to EXPORT_SYMBOL(deny_write_access); in ksyms.c
How to use the new interface ?
mount -t dmfs dmfs /mnt/dm
cd /mnt/dm
mkdir fish fish/tank
cd fish/tank
cat ~/my.table > table
cd ..
ln -s tank ACTIVE
Creates a logical volume called fish and activates a table called tank, if
there is a problem doing the link, look in /mnt/dm/fish/tank/errors to see
what is wrong.
If you see any odd things happening, let me know right away as I'm sure there'll
be one or two things that slipped through my testing.