It seems Soeren Schmidt wrote:
> 
> It should work on 4.7 forward, but its been a while since I played with it. 
> Another thing is that its a pain to make a mirror on an already running
> system (which is often wanted), so I plan to add an option to atacontrol
> to tell where to get the master from, and then do an automatic rebuild
> during the create phase ie:
> 
> atacontrol create RAID1 ad0 ad2 source ad0
> 
> This will create a mirror using ad0 and ad2, and start a rebuild to
> build the master with data from ad0. This way you can do a normal
> install, add a second (identical or bigger) disk, and make a
> mirror out of those. You just have to change your fstab before
> rebooting (ad0 -> ar0) in order to boot...

For those that are brave enough to play with this I just created the
following small change to ata-raid.c. Now it will always rebuild the
array on creation, using the first disk as the master image. This
allows you to turn any set of ATA disks into a mirror on the fly..
Remember to rename you filesystems in fstab before booting :)

Index: ata-raid.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-raid.c,v
retrieving revision 1.50
diff -u -r1.50 ata-raid.c
--- ata-raid.c  2 Oct 2002 07:44:17 -0000       1.50
+++ ata-raid.c  7 Jan 2003 10:02:50 -0000
@@ -374,7 +374,14 @@
     rdp->flags |= AR_F_READY;
 
     ar_table[array] = rdp;
+
+    /* kick off rebuild here */
+    if (setup->type == 2) {
+           rdp->disks[1].flags &= ~AR_DF_ONLINE;
+           rdp->disks[1].flags |= AR_DF_SPARE;
+    }
     ar_attach_raid(rdp, 1);
+    ata_raid_rebuild(array);
     setup->unit = array;
     return 0;
 }

-Søren

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to