65 lines
2.0 KiB
HTML
65 lines
2.0 KiB
HTML
<!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: Appendix E. - Gadi's raid stop patch for the linux kernel </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">Next</A>
|
|
<A HREF="Root-RAID-HOWTO-11.html">Previous</A>
|
|
<A HREF="Root-RAID-HOWTO.html#toc12">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="Appendix-E"></A> <A NAME="s12">12. Appendix E. - Gadi's raid stop patch for the linux kernel </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",
|
|
devname(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 && 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">Next</A>
|
|
<A HREF="Root-RAID-HOWTO-11.html">Previous</A>
|
|
<A HREF="Root-RAID-HOWTO.html#toc12">Contents</A>
|
|
</BODY>
|
|
</HTML>
|