IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
old dmfs-lv.c thats gone.
o Dropped out support for multiple tables in line with ioctl interface
o Some reordering to better support the userland library
o Updated to 2.4.16
I'm fairly happy with the way that this is working now, so the next job is
to start the integration with the ioctl interface so there is a single
common dm.[ch] and selectable interfaces (fs or ioctl).
Further improvements can be made even now, but I hope to wait until we've
got this going and integrated and the libdm parts working as well before
investigating other avenues.
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!
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.
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.
o Error file routines (initial idea)
o Various fixes for bugs
o Tidy a few things
o Added a bit of debugging code ready for when this gets tested
o get_exclusive_write_access() function which will get moved into namei.c
I hope (and rewritten accordingly), should this become the final version
used.
Still a few more areas need thinking about, but in general much closer now I
think. Last area to sort out before testing is the symlink code which is
pretty close now... just a few more checks needed and the actual calls to
the core code.
o Fixed to work with highmem
o Added dmfs private inode struct for lv and table directories
o Fixed a number of errors/typos
o Status file read returns 0 so we can leave this until we've actually got
something to report in this now.
o New locking on tables.... still some issues to be worked out here but
closer now I think.
o Now use mapping of table directory to hold pages rather than mapping of
table file inode. Need to write a note to myself to fix issues with the
file length at the same time....
Well thats enough for tonight I think. The error file will be part of
tomorrows work.
o Redo write logic for table file
o Relax rules for symlink content by removing the rewriting function
Well I probably won't get a chance to work on this tomorrow, so this is my
changeset to date.
non-obvious, its time to simplify :-)
o Moving towards a simpler and more obviously correct interface
o Removed some fs operations in directories representing volumes
o Changed some file names
o Made things cleaner
more changes to follow...