Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 998

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Root RAID HOWTO cookbook: Appendice E. - La patch di Gadi per il raid stop per il kernel linux </TITLE>
 <LINK HREF="Root-RAID-HOWTO-13.html" REL=next>
 <LINK HREF="Root-RAID-HOWTO-11.html" REL=previous>
 <LINK HREF="Root-RAID-HOWTO.html#toc12" REL=contents>
</HEAD>
<BODY>
<A HREF="Root-RAID-HOWTO-13.html">Avanti</A>
<A HREF="Root-RAID-HOWTO-11.html">Indietro</A>
<A HREF="Root-RAID-HOWTO.html#toc12">Indice</A>
<HR>
<H2><A NAME="Appendix-E"></A> <A NAME="s12">12. Appendice E. - La patch di Gadi per il raid stop per il kernel linux </A></H2>

<P>
<PRE>
--- linux/drivers/block/md.c.old        Fri Nov 21 13:37:11 1997
+++ linux/drivers/block/md.c    Sat Dec  6 13:34:28 1997
@@ -622,8 +622,13 @@
       return do_md_run (minor, (int) arg);
 
     case STOP_MD:
-      return do_md_stop (minor, inode);
-      
+      err = do_md_stop(minor, inode);
+      if (err) {
+        printk("md: enabling auto mdstop for %s\n",
kdevname(inode->i_rdev));
+        md_dev[minor].auto_mdstop = 1;
+      }
+      return err;
+
     case BLKGETSIZE:   /* Return device size */
     if  (!arg)  return -EINVAL;
     err=verify_area (VERIFY_WRITE, (long *) arg, sizeof(long));
@@ -692,6 +697,10 @@
 
   sync_dev (inode->i_rdev);
   md_dev[minor].busy--;
+  if (!md_dev[minor].busy &amp;&amp; md_dev[minor].auto_mdstop) {
+       do_md_stop(minor, inode);
+       md_dev[minor].auto_mdstop = 0;
+  }
 }
 
 static int md_read (struct inode *inode, struct file *file,
--- linux/include/linux/md.h~   Fri Nov 21 13:29:14 1997
+++ linux/include/linux/md.h    Fri Nov 21 13:29:14 1997
@@ -260,6 +260,7 @@
   int                  repartition;
   int                  busy;
   int                  nb_dev;
+  int                  auto_mdstop;
   void                 *private;
 };
</PRE>
<HR>
<A HREF="Root-RAID-HOWTO-13.html">Avanti</A>
<A HREF="Root-RAID-HOWTO-11.html">Indietro</A>
<A HREF="Root-RAID-HOWTO.html#toc12">Indice</A>
</BODY>
</HTML>