[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
LVM patch for XFS 1.1-PR2 release
Whoops, I patched the 2.4.9-31 kernels for LVM 1.0.3, but then forgot to
enable LVM in the configs. And it turns out that as it is, it won't
compile. Well... that's why we issue test releases I guess. Thanks for
finding it, Seth! :)
If anyone wants to use LVM with this release, here's a patch to get it
building again; we'll get it turned on in the next spin.
-Eric
--
Eric Sandeen XFS for Linux http://oss.sgi.com/projects/xfs
sandeen@sgi.com SGI, Inc.
diff -urp linux-2.4.9-31-RH-xfs-1.1-newdelalloc/drivers/md/lvm-snap.c linux-2.4.9-31-RH-xfs-1.1/drivers/md/lvm-snap.c
--- linux-2.4.9-31-RH-xfs-1.1-newdelalloc/drivers/md/lvm-snap.c Tue Mar 19 11:59:48 2002
+++ linux-2.4.9-31-RH-xfs-1.1/drivers/md/lvm-snap.c Fri Mar 22 10:15:22 2002
@@ -540,9 +540,10 @@ out:
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(1, &lv_snap->lv_iobuf);
+ ret = alloc_kiovec_sz(1, &lv_snap->lv_iobuf, &nbhs);
if (ret) goto out;
max_sectors = KIO_MAX_SECTORS << (PAGE_SHIFT-9);
@@ -551,7 +552,7 @@ int lvm_snapshot_alloc(lv_t * lv_snap)
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, &nbhs);
if (ret) goto out_free_kiovec;
ret = lvm_snapshot_alloc_iobuf_pages(lv_snap->lv_COW_table_iobuf,
@@ -566,12 +567,12 @@ out:
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, &nbhs);
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, &nbhs);
lv_snap->lv_iobuf = NULL;
vfree(lv_snap->lv_snapshot_hash_table);
lv_snap->lv_snapshot_hash_table = NULL;
@@ -580,6 +581,8 @@ out_free_kiovec:
void lvm_snapshot_release(lv_t * lv)
{
+ int nbhs = KIO_MAX_SECTORS;
+
if (lv->lv_block_exception)
{
vfree(lv->lv_block_exception);
@@ -595,14 +598,14 @@ void lvm_snapshot_release(lv_t * lv)
{
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, &nbhs);
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, &nbhs);
lv->lv_COW_table_iobuf = NULL;
}
}
diff -urp linux-2.4.9-31-RH-xfs-1.1-newdelalloc/drivers/md/lvm.c linux-2.4.9-31-RH-xfs-1.1/drivers/md/lvm.c
--- linux-2.4.9-31-RH-xfs-1.1-newdelalloc/drivers/md/lvm.c Tue Mar 19 11:59:48 2002
+++ linux-2.4.9-31-RH-xfs-1.1/drivers/md/lvm.c Fri Mar 22 10:25:22 2002
@@ -401,7 +400,6 @@ struct file_operations lvm_chr_fops = {
/* block device operations structure needed for 2.3.38? and above */
struct block_device_operations lvm_blk_dops =
{
- owner: THIS_MODULE,
open: lvm_blk_open,
release: lvm_blk_close,
ioctl: lvm_blk_ioctl,
--- linux-2.4.9-31-RH-xfs-1.1-newdelalloc/include/linux/lvm.h Tue Mar 19 13:47:47 2002
+++ linux-2.4.9-31-RH-xfs-1.1/include/linux/lvm.h Fri Mar 22 10:25:13 2002
@@ -92,6 +92,9 @@
/* if you like emergency reset code in the driver */
#define LVM_TOTAL_RESET
+#define min(a, b) ((a) < (b) ? (a) : (b))
+#define max(a, b) ((a) > (b) ? (a) : (b))
+
#ifdef __KERNEL__
#undef LVM_HD_NAME /* display nice names in /proc/partitions */