From: William L Jones To: thomas.graichen@innominate.de Subject: LVM patch Sender: jones@spica.cc.utexas.edu I rummaged through the LVM mail archive at http://linux.msede.com/lvm and put toghter this small set of patchs to the LVM 0.8final to make them work with linux2.4-test5. It does not fix all problems just the more common ones. To apply extract the patch that follows to lvm.patch and type the following in the LVM tools directory: patch -p0 pv[p] != NULL; p++) { if ( opt_v > 0) printf ( "%s -- initializing physical volume \"%s\"\n", ! cmd, pv[p]->pv_name); if ( ( ret = pv_setup_for_create ( vg->pv[p]->pv_name, vg->pv[p], vg->pv[p]->pv_size)) < 0) { fprintf ( stderr, "%s -- ERROR \"%s\" initializing physical " --- 195,201 ---- cmd, vg_name); for ( p = 0; vg->pv[p] != NULL; p++) { if ( opt_v > 0) printf ( "%s -- initializing physical volume \"%s\"\n", ! cmd, vg->pv[p]->pv_name); if ( ( ret = pv_setup_for_create ( vg->pv[p]->pv_name, vg->pv[p], vg->pv[p]->pv_size)) < 0) { fprintf ( stderr, "%s -- ERROR \"%s\" initializing physical " *** lib/lvm_remove_recursive.c.orig Tue Aug 8 10:45:53 2000 --- lib/lvm_remove_recursive.c Tue Aug 8 10:48:33 2000 *************** *** 44,50 **** strcmp ( dir_ent->d_name,"..") == 0) continue; if ( ( file_name = malloc ( strlen (dir) + strlen (dir_ent->d_name) + ! 2)) == NULL) { ret = -LVM_EREMOVE_RECURSIVE_MALLOC; goto lvm_remove_recursive_end; } --- 44,50 ---- strcmp ( dir_ent->d_name,"..") == 0) continue; if ( ( file_name = malloc ( strlen (dir) + strlen (dir_ent->d_name) + ! 3)) == NULL) { ret = -LVM_EREMOVE_RECURSIVE_MALLOC; goto lvm_remove_recursive_end; } *** lib/vg_cfgbackup.c.orig Tue Aug 8 10:49:16 2000 --- lib/vg_cfgbackup.c Tue Aug 8 10:49:40 2000 *************** *** 366,372 **** } /* VGDA backup history */ ! for ( i = vg_max_backups; i > 1; i--) { sprintf ( vg_backup_path_old2, "%s/%s.conf.%d.old%c", directory, vg_name, i, 0); if ( opt_v > 0) printf ( "%s -- checking for \"%s\"\n", --- 366,372 ---- } /* VGDA backup history */ ! for ( i = vg_max_backups; i >= 1; i--) { sprintf ( vg_backup_path_old2, "%s/%s.conf.%d.old%c", directory, vg_name, i, 0); if ( opt_v > 0) printf ( "%s -- checking for \"%s\"\n", *** lib/liblvm.h.orig Tue Aug 8 11:01:56 2000 --- lib/liblvm.h Tue Aug 8 11:02:17 2000 *************** *** 47,53 **** # include #endif ! #include #include --- 47,53 ---- # include #endif ! #include #include *** lib/lvm_dir_cache.c.orig Mon Feb 21 20:09:32 2000 --- lib/lvm_dir_cache.c Thu Aug 3 11:11:04 2000 *************** *** 83,91 **** } if ( dir_cache == NULL) { ! if ( ( proc = fopen ( "/proc/partitions", "r")) != NULL) { while ( !feof ( proc)) { ! fscanf ( proc, " %s %s %s %s\n", major, minor, blocks, devname); if ( atoi ( major) > 0 && atoi ( major) != LVM_BLK_MAJOR) { lvm_add_dir_cache ( "/dev", devname); } --- 83,91 ---- } if ( dir_cache == NULL) { ! if (( proc = fopen ( "/proc/partitions", "r")) != NULL) { while ( !feof ( proc)) { ! fscanf ( proc, " %s %s %s %s%*[^\n]s\n", major, minor, blocks, devname); if ( atoi ( major) > 0 && atoi ( major) != LVM_BLK_MAJOR) { lvm_add_dir_cache ( "/dev", devname); }