* [linux-lvm] 2.4.13ac5+lvm 1.0.1rc4 can it be done ??
@ 2001-10-31 11:28 christian e
2001-10-31 15:12 ` Wolfgang Weisselberg
0 siblings, 1 reply; 2+ messages in thread
From: christian e @ 2001-10-31 11:28 UTC (permalink / raw)
To: linux lvm
Hi,all
I'm tearing my hair out here I can't seem to get this working..What's
the right order to do this ?? Here's what I did:
* download 2.4.13
* applied ac5 patch
* downloaded 1.0.1rc4 lvm and did a make in PATCHES dir and pacth the
kernel getting this:
Reversed (or previously applied) patch detected! Assume -R? [n]
I answer 'n' assuming some of the patch is already in ac5..maybe all of
it ?? How do I know what lvm is in this ac patch ??
* compiling the kernel gives:
drivers/md/mddev.o: In function `lvm_init':
drivers/md/mddev.o(.text+0x86): undefined reference to `lvm_init_fs'
drivers/md/mddev.o(.text+0x9a): undefined reference to `gendisk_head'
drivers/md/mddev.o(.text+0xd8): undefined reference to `gendisk_head'
drivers/md/mddev.o: In function `lvm_cleanup':
drivers/md/mddev.o(.text+0x168): undefined reference to `gendisk_head'
drivers/md/mddev.o(.text+0x1bc): undefined reference to `lvm_fin_fs'
drivers/md/mddev.o: In function `lvm_do_vg_create':
drivers/md/mddev.o(.text+0x1d96): undefined reference to `lvm_fs_create_vg'
drivers/md/mddev.o: In function `lvm_do_vg_rename':
drivers/md/mddev.o(.text+0x22ec): undefined reference to `lvm_fs_remove_vg'
drivers/md/mddev.o(.text+0x2493): undefined reference to `lvm_fs_create_vg'
drivers/md/mddev.o: In function `lvm_do_vg_remove':
drivers/md/mddev.o(.text+0x24f9): undefined reference to `lvm_fs_remove_vg'
drivers/md/mddev.o: In function `lvm_do_pv_create':
drivers/md/mddev.o(.text+0x2705): undefined reference to `lvm_fs_create_pv'
drivers/md/mddev.o: In function `lvm_do_pv_remove':
drivers/md/mddev.o(.text+0x2744): undefined reference to `lvm_fs_remove_pv'
drivers/md/mddev.o: In function `lvm_do_lv_create':
drivers/md/mddev.o(.text+0x30b4): undefined reference to `lvm_fs_create_lv'
drivers/md/mddev.o: In function `lvm_do_lv_remove':
drivers/md/mddev.o(.text+0x31b3): undefined reference to `lvm_fs_remove_lv'
drivers/md/mddev.o: In function `lvm_do_lv_rename':
drivers/md/mddev.o(.text+0x429e): undefined reference to `lvm_fs_remove_lv'
drivers/md/mddev.o(.text+0x42c1): undefined reference to `lvm_fs_create_lv'
drivers/md/mddev.o: In function `lvm_snapshot_alloc':
drivers/md/mddev.o(.text+0x4f2d): undefined reference to `alloc_kiovec'
drivers/md/mddev.o(.text+0x4f5e): undefined reference to `alloc_kiovec'
drivers/md/mddev.o(.text+0x4fa5): undefined reference to `free_kiovec'
drivers/md/mddev.o(.text+0x4fcc): undefined reference to `free_kiovec'
drivers/md/mddev.o: In function `lvm_snapshot_release':
drivers/md/mddev.o(.text+0x5073): undefined reference to `free_kiovec'
drivers/md/mddev.o(.text+0x50aa): undefined reference to `free_kiovec'
I thought I'd seen this posted before,but havent seen a patch to fix
it..Someone must've succeeded in getting it to work with 2.4.13 right ?? :-)
best regards
Christian
--
Christian Ejstrup, IT Admin / RF Development Engineer
Texas Instruments A/S, Denmark ,Sofiendalsvej 93,DK-9200 Aalborg SV,Denmark
Phone:+45 96346868, Phone(direct):+45 96346860, GSM:+45 22234304
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [linux-lvm] 2.4.13ac5+lvm 1.0.1rc4 can it be done ??
2001-10-31 11:28 [linux-lvm] 2.4.13ac5+lvm 1.0.1rc4 can it be done ?? christian e
@ 2001-10-31 15:12 ` Wolfgang Weisselberg
0 siblings, 0 replies; 2+ messages in thread
From: Wolfgang Weisselberg @ 2001-10-31 15:12 UTC (permalink / raw)
To: linux lvm
Hi, christian!
christian e (cej@ti.com) wrote 73 lines:
> * downloaded 1.0.1rc4 lvm and did a make in PATCHES dir and pacth the
> kernel getting this:
> Reversed (or previously applied) patch detected! Assume -R? [n]
> I answer 'n' assuming some of the patch is already in ac5..maybe all of
yes, this part is already in the ac series.
> * compiling the kernel gives:
> drivers/md/mddev.o: In function `lvm_init':
> drivers/md/mddev.o(.text+0x86): undefined reference to `lvm_init_fs'
> drivers/md/mddev.o(.text+0x9a): undefined reference to `gendisk_head'
> drivers/md/mddev.o(.text+0xd8): undefined reference to `gendisk_head'
> drivers/md/mddev.o: In function `lvm_cleanup':
> drivers/md/mddev.o(.text+0x168): undefined reference to `gendisk_head'
> drivers/md/mddev.o(.text+0x1bc): undefined reference to `lvm_fin_fs'
> drivers/md/mddev.o: In function `lvm_do_vg_create':
> drivers/md/mddev.o(.text+0x1d96): undefined reference to `lvm_fs_create_vg'
> drivers/md/mddev.o: In function `lvm_do_vg_rename':
> drivers/md/mddev.o(.text+0x22ec): undefined reference to `lvm_fs_remove_vg'
> drivers/md/mddev.o(.text+0x2493): undefined reference to `lvm_fs_create_vg'
> drivers/md/mddev.o: In function `lvm_do_vg_remove':
> drivers/md/mddev.o(.text+0x24f9): undefined reference to `lvm_fs_remove_vg'
> drivers/md/mddev.o: In function `lvm_do_pv_create':
> drivers/md/mddev.o(.text+0x2705): undefined reference to `lvm_fs_create_pv'
> drivers/md/mddev.o: In function `lvm_do_pv_remove':
> drivers/md/mddev.o(.text+0x2744): undefined reference to `lvm_fs_remove_pv'
> drivers/md/mddev.o: In function `lvm_do_lv_create':
> drivers/md/mddev.o(.text+0x30b4): undefined reference to `lvm_fs_create_lv'
> drivers/md/mddev.o: In function `lvm_do_lv_remove':
> drivers/md/mddev.o(.text+0x31b3): undefined reference to `lvm_fs_remove_lv'
> drivers/md/mddev.o: In function `lvm_do_lv_rename':
> drivers/md/mddev.o(.text+0x429e): undefined reference to `lvm_fs_remove_lv'
> drivers/md/mddev.o(.text+0x42c1): undefined reference to `lvm_fs_create_lv'
> drivers/md/mddev.o: In function `lvm_snapshot_alloc':
Structure change in the kernel. This part is in the CVS.
> drivers/md/mddev.o(.text+0x4f2d): undefined reference to `alloc_kiovec'
> drivers/md/mddev.o(.text+0x4f5e): undefined reference to `alloc_kiovec'
> drivers/md/mddev.o(.text+0x4fa5): undefined reference to `free_kiovec'
> drivers/md/mddev.o(.text+0x4fcc): undefined reference to `free_kiovec'
> drivers/md/mddev.o: In function `lvm_snapshot_release':
> drivers/md/mddev.o(.text+0x5073): undefined reference to `free_kiovec'
> drivers/md/mddev.o(.text+0x50aa): undefined reference to `free_kiovec'
And this isn't (different in AC and standard kernels).
Try the following patch:
(apply in top-dir of the kernel with patch -p0 < PATCHFILE
after you patched in LVM)
It should work OKish, it's against 2.4.10, but chances are
this part has not been touched...
Other versions (doing the same) can be found in the list
archive.
--- drivers/md/lvm.c.old Wed Oct 10 23:18:56 2001
+++ drivers/md/lvm.c Wed Oct 10 23:24:14 2001
@@ -455,6 +455,8 @@
lvm_geninit(&lvm_gendisk);
/* insert our gendisk@the corresponding major */
+ /* -- old interface, no longer in use!! -- */
+#if 0
if (gendisk_head != NULL) {
gendisk_ptr = gendisk_head;
while (gendisk_ptr->next != NULL &&
@@ -467,6 +469,10 @@
gendisk_head = &lvm_gendisk;
lvm_gendisk.next = NULL;
}
+#endif
+
+ /* new interface */
+ add_gendisk(&lvm_gendisk);
#ifdef LVM_HD_NAME
/* reference from drivers/block/genhd.c */
@@ -509,7 +515,8 @@
lvm_name);
-
+ /* -- old interface, no longer in use!! */
+#if 0
gendisk_ptr = gendisk_ptr_prev = gendisk_head;
while (gendisk_ptr != NULL) {
if (gendisk_ptr == &lvm_gendisk)
@@ -520,6 +527,10 @@
/* delete our gendisk from chain */
if (gendisk_ptr == &lvm_gendisk)
gendisk_ptr_prev->next = gendisk_ptr->next;
+#endif
+ /* -- new interface -- */
+ del_gendisk(&lvm_gendisk);
+
blk_size[MAJOR_NR] = NULL;
blksize_size[MAJOR_NR] = NULL;
--- drivers/md/lvm-snap.c.old Wed Oct 10 23:24:36 2001
+++ drivers/md/lvm-snap.c Wed Oct 10 23:30:29 2001
@@ -55,6 +55,8 @@
static char *lvm_snap_version __attribute__ ((unused)) = "LVM "LVM_RELEASE_NAME" snapshot code ("LVM_RELEASE_DATE")\n";
+int kio_max_sectors = KIO_MAX_SECTORS;
+
extern const char *const lvm_name;
extern int lvm_blocksizes[];
@@ -513,7 +515,7 @@
int ret, max_sectors;
/* allocate kiovec to do chunk io */
- ret = alloc_kiovec(1, &lv_snap->lv_iobuf);
+ ret = alloc_kiovec_sz(1, &lv_snap->lv_iobuf, &kio_max_sectors);
if (ret) goto out;
max_sectors = KIO_MAX_SECTORS << (PAGE_SHIFT-9);
@@ -522,7 +524,7 @@
if (ret) goto out_free_kiovec;
/* allocate kiovec to do exception table io */
- ret = alloc_kiovec(1, &lv_snap->lv_COW_table_iobuf);
+ ret = alloc_kiovec_sz(1, &lv_snap->lv_COW_table_iobuf, &kio_max_sectors);
if (ret) goto out_free_kiovec;
ret = lvm_snapshot_alloc_iobuf_pages(lv_snap->lv_COW_table_iobuf,
@@ -538,12 +540,12 @@
out_free_both_kiovecs:
unmap_kiobuf(lv_snap->lv_COW_table_iobuf);
- free_kiovec(1, &lv_snap->lv_COW_table_iobuf);
+ free_kiovec_sz(1, &lv_snap->lv_COW_table_iobuf, &kio_max_sectors);
lv_snap->lv_COW_table_iobuf = NULL;
out_free_kiovec:
unmap_kiobuf(lv_snap->lv_iobuf);
- free_kiovec(1, &lv_snap->lv_iobuf);
+ free_kiovec_sz(1, &lv_snap->lv_iobuf, &kio_max_sectors);
lv_snap->lv_iobuf = NULL;
if (lv_snap->lv_snapshot_hash_table != NULL)
vfree(lv_snap->lv_snapshot_hash_table);
@@ -568,14 +570,14 @@
{
kiobuf_wait_for_io(lv->lv_iobuf);
unmap_kiobuf(lv->lv_iobuf);
- free_kiovec(1, &lv->lv_iobuf);
+ free_kiovec_sz(1, &lv->lv_iobuf, &kio_max_sectors);
lv->lv_iobuf = NULL;
}
if (lv->lv_COW_table_iobuf)
{
kiobuf_wait_for_io(lv->lv_COW_table_iobuf);
unmap_kiobuf(lv->lv_COW_table_iobuf);
- free_kiovec(1, &lv->lv_COW_table_iobuf);
+ free_kiovec_sz(1, &lv->lv_COW_table_iobuf, &kio_max_sectors);
lv->lv_COW_table_iobuf = NULL;
}
}
-Wolfgang
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2001-10-31 15:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-31 11:28 [linux-lvm] 2.4.13ac5+lvm 1.0.1rc4 can it be done ?? christian e
2001-10-31 15:12 ` Wolfgang Weisselberg
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.