2001-11-12 13:01:29

by Patrick Caulfield

[permalink] [raw]
Subject: [PATCH] lvm in 2.4.15.pre3

Please apply the following patch to LVM in 2.4.13pre3.

It looks like the LVM patch that came from Alan calls alloc/free_kiovec_sz()
functions which only exist in his tree.

patrick

--- drivers/md/lvm-snap.c.orig Mon Nov 12 12:53:01 2001
+++ drivers/md/lvm-snap.c Mon Nov 12 12:53:47 2001
@@ -500,10 +500,9 @@
int lvm_snapshot_alloc(lv_t * lv_snap)
{
int ret, max_sectors;
- int nbhs = KIO_MAX_SECTORS;

/* allocate kiovec to do chunk io */
- ret = alloc_kiovec_sz(1, &lv_snap->lv_iobuf, &nbhs);
+ ret = alloc_kiovec(1, &lv_snap->lv_iobuf);
if (ret) goto out;

max_sectors = KIO_MAX_SECTORS << (PAGE_SHIFT-9);
@@ -512,7 +511,7 @@
if (ret) goto out_free_kiovec;

/* allocate kiovec to do exception table io */
- ret = alloc_kiovec_sz(1, &lv_snap->lv_COW_table_iobuf, &nbhs);
+ ret = alloc_kiovec(1, &lv_snap->lv_COW_table_iobuf);
if (ret) goto out_free_kiovec;

ret = lvm_snapshot_alloc_iobuf_pages(lv_snap->lv_COW_table_iobuf,
@@ -528,12 +527,12 @@

out_free_both_kiovecs:
unmap_kiobuf(lv_snap->lv_COW_table_iobuf);
- free_kiovec_sz(1, &lv_snap->lv_COW_table_iobuf, &nbhs);
+ free_kiovec(1, &lv_snap->lv_COW_table_iobuf);
lv_snap->lv_COW_table_iobuf = NULL;

out_free_kiovec:
unmap_kiobuf(lv_snap->lv_iobuf);
- free_kiovec_sz(1, &lv_snap->lv_iobuf, &nbhs);
+ free_kiovec(1, &lv_snap->lv_iobuf);
lv_snap->lv_iobuf = NULL;
if (lv_snap->lv_snapshot_hash_table != NULL)
vfree(lv_snap->lv_snapshot_hash_table);
@@ -543,8 +542,6 @@

void lvm_snapshot_release(lv_t * lv)
{
- int nbhs = KIO_MAX_SECTORS;
-
if (lv->lv_block_exception)
{
vfree(lv->lv_block_exception);
@@ -560,14 +557,14 @@
{
kiobuf_wait_for_io(lv->lv_iobuf);
unmap_kiobuf(lv->lv_iobuf);
- free_kiovec_sz(1, &lv->lv_iobuf, &nbhs);
+ free_kiovec(1, &lv->lv_iobuf);
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_sz(1, &lv->lv_COW_table_iobuf, &nbhs);
+ free_kiovec(1, &lv->lv_COW_table_iobuf);
lv->lv_COW_table_iobuf = NULL;
}
}


2001-11-12 13:11:49

by Alan

[permalink] [raw]
Subject: Re: [PATCH] lvm in 2.4.15.pre3

> Please apply the following patch to LVM in 2.4.13pre3.
>
> It looks like the LVM patch that came from Alan calls alloc/free_kiovec_sz()
> functions which only exist in his tree.

Just sent Linus the same thing 8)

Alan

2001-11-12 14:24:18

by Ville Herva

[permalink] [raw]
Subject: Re: [PATCH] lvm in 2.4.15.pre3

On Mon, Nov 12, 2001 at 01:19:01PM +0000, you [Alan Cox] claimed:
> > Please apply the following patch to LVM in 2.4.13pre3.
> >
> > It looks like the LVM patch that came from Alan calls alloc/free_kiovec_sz()
> > functions which only exist in his tree.
>
> Just sent Linus the same thing 8)

Sorry if this is a FAQ, but I see the LVM in .15pre3 is 0.9.1beta2. Are there
plans to merge something newer like 1.0.1pre4?

What about Andreas Dilger's fixes? Do they get the pre3 LVM closer to
1.0.1pre4?


-- v --

[email protected]

2001-11-12 16:14:28

by Ville Herva

[permalink] [raw]
Subject: Re: [linux-lvm] Re: [PATCH] lvm in 2.4.15.pre3

On Mon, Nov 12, 2001 at 04:04:12PM +0000, you [Patrick Caulfield] claimed:
> On Mon, Nov 12, 2001 at 05:51:01PM +0200, Ville Herva wrote:
> > On Mon, Nov 12, 2001 at 02:34:32PM +0000, you [Patrick Caulfield] claimed:
> > > On Mon, Nov 12, 2001 at 04:23:37PM +0200, Ville Herva wrote:
> > > > On Mon, Nov 12, 2001 at 01:19:01PM +0000, you [Alan Cox] claimed:
> > > > > > Please apply the following patch to LVM in 2.4.13pre3.
> > > > > >
> > > > > > It looks like the LVM patch that came from Alan calls alloc/free_kiovec_sz
> > > ()
> > > > > > functions which only exist in his tree.
> > > > >
> > > > > Just sent Linus the same thing 8)
> > > >
> > > > Sorry if this is a FAQ, but I see the LVM in .15pre3 is 0.9.1beta2. Are there
> > > > plans to merge something newer like 1.0.1pre4?
> > >
> > > I think you've misread the patch:
> > >
> > > lvm.h:#define LVM_RELEASE_NAME "1.0.1-rc4(ish)"
> >
> > Ummh, maybe I'm doing something wrong, but my copy of 2.4.15pre3 says
> >
> > less -N include/linux/lvm.h:
> > 67 #ifndef _LVM_H_INCLUDE
> > 68 #define _LVM_H_INCLUDE
> > 69
> > 70 #define _LVM_KERNEL_H_VERSION "LVM 0.9.1_beta2 (18/01/2001)"
> > 71
> > 72 #include <linux/config.h>
> > 73 #include <linux/version.h>
> >
>
> > ./drivers/md/lvm-internal.h:#define _LVM_INTERNAL_H_VERSION "LVM"LVM_RELEASE_NAME" ("LVM_RELEASE_DATE")"
> >
> > Does it generate the LVM_RELEASE_NAME dynamically on first build?
>
> No it doesn't.
>
> I can only assume your patch hasn't applied correctly - look at the patch
> itself:
>
> @@ -67,9 +73,11 @@
> #ifndef _LVM_H_INCLUDE
> #define _LVM_H_INCLUDE
>
> -#define _LVM_KERNEL_H_VERSION "LVM 0.9.1_beta2 (18/01/2001)"
> +#define LVM_RELEASE_NAME "1.0.1-rc4(ish)"
> +#define LVM_RELEASE_DATE "03/10/2001"
> +
> +#define _LVM_KERNEL_H_VERSION "LVM "LVM_RELEASE_NAME" ("LVM_RELEASE_DATE")"
>
> -#include <linux/config.h>
> #include <linux/version.h>

It must be that (I was using non-gnu patch(1)).

Sorry for the noise.

BTW: When was 1.0.1-rc4 merged to -ac / mainline? I missed that...


-- v --

[email protected]