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!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
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 Only one list of block devices for all tables
o Locking to ensure that block devices only get opened once
o Block device handling is now in dm-blkdev.c
o We open block devices when we create the tables and hold them open until
the table is destroyed (this prevents the module for the device being
unloaded after table parsing and before the table is used)
o We compute the hardsect size when the table is created rather than when
someone requests it.
Still to fix/change:
o Probably want to hash the device lists in dm-blkdev.c and also remove refs
to struct dm_bdev outside this file.
o Need to ensure that hardsect_size doesn't change when new tables are
swapped in (maybe this ought to be a per volume parameter and the tables
will only parse if they match the value for the volume?).
Things are changing fast here, so if you want a stable version of thic code
try checking out yesterdays.
o Moved the linear target into its own module (not really because it needs to
be there, but because its useful to have a simple example so people can see
what we are doing)
Btw, this needs testing properly.
Mount the dm-fs filesystem on /device-mapper (will fix later). mkdir
to create a device, inside that directory every file you create is a table
file. If there are errors <table>.err will appear automagically. Mv a table
file to ACTIVE to activeate the device. I'm not happy with mv being the
binding command, symlink would be better.