1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-31 21:18:26 +03:00
Commit Graph

149 Commits

Author SHA1 Message Date
Steven Whitehouse
70c9968eaf o Changed to use table->err_msg rather than passing functions around 2001-09-20 18:22:35 +00:00
Steven Whitehouse
5fe98688bb o Some new files (also part of new fs interface) 2001-09-19 21:28:25 +00:00
Steven Whitehouse
6371de51da o Further changes to new file system interface 2001-09-19 21:27:46 +00:00
Steven Whitehouse
6c15d652d4 o Removed the error reporting function from the target constructor function
arguments. Errors are now reported by setting a pointer in the table to
   point to an error message.
2001-09-19 21:27:15 +00:00
Alasdair Kergon
c1a727359e hardsect/blksize handling 2001-09-19 17:46:27 +00:00
Steven Whitehouse
abe3914e87 o Added ref counting to tables
o Further changes to new fs interface
2001-09-19 16:01:27 +00:00
Steven Whitehouse
b28dfc0655 o Fixed a bug where we were not holding a reference of the block devices
used by the targets correctly.
2001-09-19 14:54:44 +00:00
Steven Whitehouse
ec3c205f2d o Change the deallocation of tables to match the vmalloc changes in my
previous commit
2001-09-19 11:02:02 +00:00
Steven Whitehouse
e33e89637c o Cut down number of vmallocs to increase speed and efficiency 2001-09-19 10:59:10 +00:00
Steven Whitehouse
44206f5e75 o More fs fiddling. Another check point commit. 2001-09-19 10:32:51 +00:00
Steven Whitehouse
7439f2e6c0 o Bug fix to LV_BMAP ioctl()
o Account for I/O against tables rather than logical volume devices
2001-09-19 10:32:09 +00:00
Alasdair Kergon
25f2335b7d Fix allocation & list-handling. 2001-09-18 20:03:00 +00:00
Steven Whitehouse
a71f36113c These files are now a bit closer towards what I'm aiming at. Still a lot
more to do though.
2001-09-18 16:54:14 +00:00
Steven Whitehouse
ab05a11ef5 Should have been included in the previous commit. 2001-09-18 16:53:18 +00:00
Steven Whitehouse
397f76ad31 o Changed dm_create() to return a struct mapped_device rather than an int
o Changed dm_remove() to accept a struct mapped_device argument rather than
   a name
 o We no longer have to look up devices by name, the dcache handles that
   nicely for us
 o Fixed a bug where we were freeing a structure before we'd finished with
   it.
 o The name field in struct mapped_device is now only used in a very few
   places in dm.c and will be replaced in future with a back reference to
   the dentry rather than keeping the name in two places.
2001-09-18 16:52:50 +00:00
Steven Whitehouse
710bb6996d o New file dmfs-super.c
o dmfs-dir.c becomes dmfs-lv.c
 o dmfs-file.c becomes dmfs-table.c
 o A few tweeks and updates

The main reason for the slow progress on these files (which are not yet used
by the device mapper) is that we are working out what this interface should
look like as we go along.

Once this has evolved a bit further and in a state where it can be used we'll
announce it on the lists for further comment.
2001-09-18 15:38:54 +00:00
Alasdair Kergon
7c913930fe Error checking: only allow block devices & test for 'nodev'. 2001-09-17 21:17:30 +00:00
Steven Whitehouse
8424428faf o Again, please ignore this for the time being. 2001-09-17 19:05:49 +00:00
Alasdair Kergon
749e7c1bb4 o Arbitrary mount path.
o Name length 128.
2001-09-17 16:55:31 +00:00
Steven Whitehouse
d8d1435e15 o Work in progress, please ignore these files for a day or two whilst I
get everything going.
2001-09-17 15:42:59 +00:00
Steven Whitehouse
0d2348d9c7 o Fixed code where return value of vmalloc wasn't checked 2001-09-17 11:23:13 +00:00
Steven Whitehouse
dea83b3f4c o Use count should be an atomic_t 2001-09-17 09:01:23 +00:00
Steven Whitehouse
de37c802d7 o Targets now get rw passed through so they can do COW for example
o Added error handler (not sure that this is the "correct" way to do
   this at the moment, so its a bit exprimental for now)
2001-09-14 16:22:02 +00:00
Steven Whitehouse
875fa752a0 o Support /sbin/hotplug 2001-09-14 15:35:06 +00:00
Steven Whitehouse
fb170684a0 o Made pending I/O wait uninterruptible 2001-09-14 14:03:02 +00:00
Steven Whitehouse
9b90e8ee2c o New ioctl(): LV_BMAP which is compatible with LVM so that hopefully LILO
will work. I haven't actually tested that, but this support at least will
   be required.
2001-09-14 13:45:40 +00:00
Alasdair Kergon
df18917b3c Use dmfs_ function name prefix (in line with other file systems). 2001-09-14 13:27:58 +00:00
Patrick Caulfield
1736f166bc lc->in->f_op->read expects its buffer to be in userspace so surround it in
set_fs() etc calls
2001-09-14 12:27:57 +00:00
Steven Whitehouse
9f1da34243 o As promised earlier, the device registration is now hashed and the
lists are private to dm-blkdev.c
2001-09-14 11:25:51 +00:00
Alasdair Kergon
45ee3251a4 Always truncate error file. 2001-09-14 11:15:54 +00:00
Patrick Caulfield
9a193e5eb5 Don't store things in _devs[-1] - it's not nice. 2001-09-14 10:54:08 +00:00
Steven Whitehouse
e6b6c6a9cf o Forgot to create slab caches for dm-blkdev.c
o Misc code tidy
2001-09-14 10:40:20 +00:00
Alasdair Kergon
765d06119f o kmalloc error check
o error file mode
The 1st Jan 1970 date I'm seeing in /dev is a devfs issue I think.
2001-09-14 10:06:22 +00:00
Steven Whitehouse
fd36a66ccc Changes to device handling;
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.
2001-09-14 09:45:35 +00:00
Steven Whitehouse
31e6faf89f o New code for handling block device registration. Not yet used but checked
in for backup purposes.
2001-09-14 08:06:02 +00:00
Alasdair Kergon
d0bed0c40a is_identifier characters 2001-09-13 21:50:38 +00:00
Steven Whitehouse
e81b9387b1 o Two fixes which Alasdair pointed out. 2001-09-13 20:10:14 +00:00
Steven Whitehouse
d9c3226ee2 o Tidy in dm-fs.c
o Magic number is really magic
 o Check on directory names
2001-09-13 19:41:46 +00:00
Steven Whitehouse
19e1b15feb o Forgot to add ref to module. 2001-09-13 19:36:40 +00:00
Alasdair Kergon
cf65de45b9 Add dm-parse to makefile 2001-09-13 19:09:23 +00:00
Steven Whitehouse
fee7b9e6a5 o Now we handle target modules correctly
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.
2001-09-13 18:30:05 +00:00
Alasdair Kergon
cb68f33cf3 o Remove hard-coded mount point
o Fix macro for compilation
2001-09-13 16:52:50 +00:00
Steven Whitehouse
576d347777 o Some structures change size with different configs, so always include
<linux/config.h> first.
2001-09-13 14:03:42 +00:00
Steven Whitehouse
f34029a1ee o Some ioctl() commands. 2001-09-13 14:01:13 +00:00
Steven Whitehouse
5c8de1dbd5 o I'm afraid that wu and wl etc. is just too confusing.... I've changed it
to up_write() and down_write() etc so that you can see what kind of a lock
   it is (otherwise it could be anything.. semaphore, spinlock, spinlock_bh,
   spinlock_irq, br_lock, etc.)
2001-09-13 11:29:38 +00:00
Steven Whitehouse
2565c99f8b o Use kmem_cache_destroy() to remove slab cache. 2001-09-13 11:07:08 +00:00
Alasdair Kergon
1476903a5e Add dm-parse 2001-09-12 13:50:26 +00:00
Joe Thornber
3f03a60736 o first sattab at custom fs. Very rough ATM.
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.
2001-09-07 11:34:46 +00:00
Joe Thornber
8784319622 o more tidy ups from Clausen. 2001-09-05 07:48:11 +00:00
Joe Thornber
e69ce84e34 o Added two new functions get_child [Andrew Clausen] and get_node. I think
this makes 'high()' a bit more understandable.
2001-09-04 10:17:28 +00:00
Joe Thornber
a612e52245 o added new constant CHILD_PER_NODE to make things clearer 2001-09-03 08:36:41 +00:00
Joe Thornber
5cdd74f2e9 o Various tidy ups [Andrew Clausen] 2001-09-02 10:49:20 +00:00
Joe Thornber
f058895e26 o added global dm_table_lookup_device(path)
o changed linear target to : <device_path> <start>
2001-08-31 18:26:27 +00:00
Joe Thornber
a46d94071b o added reference counting to the destination devices, make sure that the
destructor for any targets you write call dm_table_remove_device.
2001-08-31 16:36:56 +00:00
Joe Thornber
0f29dc2f2d o split struct mapped_device into mapped_device and dm_table
o seperated loading of a table from binding a table to the device

These should allow multiple tables to be managed by dm-fs
2001-08-31 15:13:33 +00:00
Joe Thornber
4183d3fe6c o tidy ups 2001-08-31 12:49:31 +00:00
Joe Thornber
78512ae004 o allocate io_hooks from a slab 2001-08-31 10:25:32 +00:00
Joe Thornber
7567dd82cb o stray return -ENXIO in reuqest [Jens Axboe] 2001-08-31 09:43:35 +00:00
Joe Thornber
61059614b7 o rebuilt 00_latest 2001-08-31 09:14:55 +00:00
Joe Thornber
0399f4cd61 o split uml part out 2001-08-29 14:23:40 +00:00
Joe Thornber
5410a899ef o various little tidy ups 2001-08-29 13:58:48 +00:00
Joe Thornber
a18deda24b o change format of table line to <start> <len> <target> ... 2001-08-28 14:56:47 +00:00
AJ Lewis
2e95662387 o Enable building dm modules (called dm-mod)
o split the patches into config and makefile specific.
2001-08-28 14:11:55 +00:00
Joe Thornber
ff8cfdb092 o more deferred io stuff 2001-08-28 14:05:22 +00:00
Joe Thornber
bfba809c79 o added proper suspend/resume support, it now waits for all 'in flight' io's
to complete.

  
  moved comment to dm.h
2001-08-28 13:04:44 +00:00
Joe Thornber
0d3e8e743a o ACtual source code patch 2001-08-24 09:50:16 +00:00
Joe Thornber
4ca4476320 o a couple of patches we'll need for deviec-mapper 2001-08-24 09:39:32 +00:00
Joe Thornber
d43ba2a775 o you can now load maps repeatedly without hanging
o tested multiple target map

Driver is now useable
2001-08-23 17:10:05 +00:00
Joe Thornber
95d3ba14eb o dm_add_target was returning 0 an error when it shouldn't
o reference count was being checked badly
2001-08-23 16:45:43 +00:00
Joe Thornber
3cf3ab579e o map loads ok now
o request function appears to work, but something is segfaulting when i
  mke2fs
2001-08-23 12:35:02 +00:00
Alasdair Kergon
0bdf99c171 Tweak permissions - currently root-only. (no support for non-root ownership
in procfs except for PIDs)
2001-08-22 20:10:06 +00:00
Joe Thornber
1a6f055682 o chagngesd alloc to return 0 on success 2001-08-22 15:59:56 +00:00
Joe Thornber
016cf45775 o fs_add and fs_remove actually create/remove the device now 2001-08-22 15:33:08 +00:00
Joe Thornber
4a6a800fd8 o added brackets to make t->name = (char *) (t + 1) more explicit 2001-08-22 15:12:31 +00:00
Alasdair Kergon
4dd99b7623 Return 0 on success now. 2001-08-22 15:02:55 +00:00
Joe Thornber
71d325549f o wu macro was doing a read unlock
o added dm_fs_add/remveove
2001-08-22 15:01:09 +00:00
Joe Thornber
75d6c8c9f6 o _tok_cpy was broken 2001-08-22 14:30:30 +00:00
Joe Thornber
a548e9cc40 o fix get_word
o capy name in when registering targets

o change _line_splitter so it expects the process functions to return zero
  on success
2001-08-22 14:13:26 +00:00
Joe Thornber
9d4aaf49c1 o _get_workd was always returning the end on iput 2001-08-22 13:52:26 +00:00
Alasdair Kergon
e753457e7d o Initialisation tweaks.
o Use different major number so it can co-exist with LVM 1.
2001-08-22 13:46:58 +00:00
Joe Thornber
8f8fbdc399 o set permissions on /proc/device-mapper/control to -w-w-w 2001-08-22 13:45:28 +00:00
Joe Thornber
5c45d98645 o call dm_init_fs 2001-08-22 13:41:00 +00:00
Joe Thornber
c0068bdd4f o quick hack to get the proc entry registering 2001-08-21 15:31:50 +00:00
Joe Thornber
e16c478a25 o dm-fs compiles, I've forgotten to register the device in /proc though 2001-08-21 15:24:02 +00:00
Joe Thornber
f924ff0059 o wasn't including dm-fs.o in the build 2001-08-21 14:52:54 +00:00
Joe Thornber
fbc4a8894f o dm-target compiles 2001-08-21 14:51:41 +00:00
Joe Thornber
8b0affe220 o dm-table compiles 2001-08-21 14:47:42 +00:00
Joe Thornber
12a8b590e0 o make dm.c compile 2001-08-21 14:28:00 +00:00
Joe Thornber
fb037af2b3 o 2.4.9 support
o new uml-lvm patch
2001-08-21 13:45:16 +00:00
Joe Thornber
537d817f8a o dm_activate/dm_close 2001-08-20 16:12:22 +00:00
Steven Whitehouse
9404455a07 dec use count on close. corrects a typo.
Really the use counts on these modules should be handled at a higher level,
otherwise there are races I think.
2001-08-20 15:59:22 +00:00
Joe Thornber
da44380f86 o implemeted dm_start_table/dm_add_entry/dm_complete_table as used by
the /proc interface.
2001-08-20 15:22:44 +00:00
Joe Thornber
bf235aa693 o changed _dev_lock to a rw_semaphore 2001-08-20 14:06:25 +00:00
Joe Thornber
d534900b91 o proc interface is getting there. 2001-08-20 13:45:43 +00:00
Joe Thornber
a2f6acada0 o missed one 2001-08-20 08:05:51 +00:00
Joe Thornber
05434129e0 Just syncing with the office.
o device-mapper.c has split
2001-08-20 08:03:02 +00:00
Joe Thornber
c34ef2dc3c o added a description 2001-08-16 15:14:07 +00:00
Joe Thornber
c34356ba58 o checked in the new driver, and the uml dir 2001-08-16 08:26:13 +00:00
AJ Lewis
b653404542 o initial subdir population 2001-08-15 16:20:46 +00:00