* [linux-lvm] 2.2.13ac5 with LVM
@ 2001-10-22 17:03 Patrick McCarty
2001-10-22 17:17 ` Jason L Tibbitts III
0 siblings, 1 reply; 3+ messages in thread
From: Patrick McCarty @ 2001-10-22 17:03 UTC (permalink / raw)
To: linux-lvm
Hi folks,
I've currently running a 2.4.8 linus kernel with LVM rc2,
but now being forced to implement quotas, I must switch to one
of Alan's kernels. FWIW, we've been serving up well over 500GB with
multiple volumes via NFS, and it's been rock solid.
I've been struggling to compile LVM rc4, and CVS against it, but
fail due to the kiovec issue.
Let me back up a step and ask another question:
What would be the most stable configuration of LVM/ext3/quotas?
I've considered the latest 2.4.10ac kernel series as well to back up to
before he reverted some code to further sync up with linus.
Anyone have any insight?
Thanks!
-- Patrick
Thank you sir. May I have another?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [linux-lvm] 2.2.13ac5 with LVM
2001-10-22 17:03 [linux-lvm] 2.2.13ac5 with LVM Patrick McCarty
@ 2001-10-22 17:17 ` Jason L Tibbitts III
0 siblings, 0 replies; 3+ messages in thread
From: Jason L Tibbitts III @ 2001-10-22 17:17 UTC (permalink / raw)
To: linux-lvm
>>>>> "PM" == Patrick McCarty <mccartyp@apu.edu> writes:
PM> I've been struggling to compile LVM rc4, and CVS against it, but fail
PM> due to the kiovec issue.
I'm running 2.4.12-ac3 and 2.4.12-ac5 with LVM 1.0.1rc4; I can ship you a
patch if you like. (I just fixed the kiovec and gendisk issues by hand.)
PM> What would be the most stable configuration of LVM/ext3/quotas?
Tough to say. Recent ac patches are nice because ext3 is completely
updated (including the large directory speedup patch). There are a couple
of compilation problems with ac5 that only bite if you have the right
combination of settings.
I can't comment on quotas.
- J<
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [linux-lvm] 2.2.13ac5 with LVM
[not found] <ufa7ktnb90y.fsf@epithumia.math.uh.edu>
@ 2001-10-22 18:53 ` Patrick McCarty
0 siblings, 0 replies; 3+ messages in thread
From: Patrick McCarty @ 2001-10-22 18:53 UTC (permalink / raw)
To: Jason L Tibbitts III; +Cc: linux-lvm
[-- Attachment #1: Type: TEXT/PLAIN, Size: 233 bytes --]
Jason,
Thanks for the patch.
I've cleaned it up quite a bit, and attached my changes.
I just successfully built a 2.4.12ac5 kernel with it -- about to try it
out.
Thanks again!
-- Patrick
Thank you sir. May I have another?
[-- Attachment #2: Type: TEXT/PLAIN, Size: 3967 bytes --]
diff -ruN md.old/lvm-snap.c md/lvm-snap.c
--- md.old/lvm-snap.c Mon Oct 22 18:18:14 2001
+++ md/lvm-snap.c Mon Oct 22 18:24:28 2001
@@ -438,7 +438,7 @@
int lvm_snapshot_alloc_iobuf_pages(struct kiobuf * iobuf, int sectors)
{
int bytes, nr_pages, err, i;
-
+
bytes = sectors * SECTOR_SIZE;
nr_pages = (bytes + ~PAGE_MASK) >> PAGE_SHIFT;
err = expand_kiobuf(iobuf, nr_pages);
@@ -511,9 +511,10 @@
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);
@@ -522,7 +523,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,&nbhs);
if (ret) goto out_free_kiovec;
ret = lvm_snapshot_alloc_iobuf_pages(lv_snap->lv_COW_table_iobuf,
@@ -538,12 +539,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,&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;
if (lv_snap->lv_snapshot_hash_table != NULL)
vfree(lv_snap->lv_snapshot_hash_table);
@@ -553,6 +554,8 @@
void lvm_snapshot_release(lv_t * lv)
{
+ int nbhs = KIO_MAX_SECTORS;
+
if (lv->lv_block_exception)
{
vfree(lv->lv_block_exception);
@@ -568,14 +571,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,&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 -ruN md.old/lvm.c md/lvm.c
--- md.old/lvm.c Mon Oct 22 18:18:14 2001
+++ md/lvm.c Mon Oct 22 18:21:15 2001
@@ -432,8 +432,6 @@
*/
int lvm_init(void)
{
- struct gendisk *gendisk_ptr = NULL;
-
if (devfs_register_chrdev(LVM_CHAR_MAJOR,
lvm_name, &lvm_chr_fops) < 0) {
printk(KERN_ERR "%s -- devfs_register_chrdev failed\n",
@@ -455,18 +453,7 @@
lvm_geninit(&lvm_gendisk);
/* insert our gendisk at the corresponding major */
- if (gendisk_head != NULL) {
- gendisk_ptr = gendisk_head;
- while (gendisk_ptr->next != NULL &&
- gendisk_ptr->major > lvm_gendisk.major) {
- gendisk_ptr = gendisk_ptr->next;
- }
- lvm_gendisk.next = gendisk_ptr->next;
- gendisk_ptr->next = &lvm_gendisk;
- } else {
- gendisk_head = &lvm_gendisk;
- lvm_gendisk.next = NULL;
- }
+ add_gendisk(&lvm_gendisk);
#ifdef LVM_HD_NAME
/* reference from drivers/block/genhd.c */
@@ -499,7 +486,6 @@
static void lvm_cleanup(void)
{
- struct gendisk *gendisk_ptr = NULL, *gendisk_ptr_prev = NULL;
if (devfs_unregister_chrdev(LVM_CHAR_MAJOR, lvm_name) < 0)
printk(KERN_ERR "%s -- devfs_unregister_chrdev failed\n",
@@ -508,18 +494,7 @@
printk(KERN_ERR "%s -- devfs_unregister_blkdev failed\n",
lvm_name);
-
-
- gendisk_ptr = gendisk_ptr_prev = gendisk_head;
- while (gendisk_ptr != NULL) {
- if (gendisk_ptr == &lvm_gendisk)
- break;
- gendisk_ptr_prev = gendisk_ptr;
- gendisk_ptr = gendisk_ptr->next;
- }
- /* delete our gendisk from chain */
- if (gendisk_ptr == &lvm_gendisk)
- gendisk_ptr_prev->next = gendisk_ptr->next;
+ del_gendisk(&lvm_gendisk);
blk_size[MAJOR_NR] = NULL;
blksize_size[MAJOR_NR] = NULL;
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-10-22 18:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-10-22 17:03 [linux-lvm] 2.2.13ac5 with LVM Patrick McCarty
2001-10-22 17:17 ` Jason L Tibbitts III
[not found] <ufa7ktnb90y.fsf@epithumia.math.uh.edu>
2001-10-22 18:53 ` Patrick McCarty
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).