Thread (3 messages) flat view 3 messages, 2 authors, 2004-02-28

Re: Partitioned raid and major number

From: Miquel van Smoorenburg <hidden>
Date: 2004-02-28 01:09:16

On Fri, 27 Feb 2004 17:56:14, Miquel van Smoorenburg wrote:
On 2004.02.27 02:17, Neil Brown wrote:
quoted
On Friday February 27, neilb@cse.unsw.edu.au wrote:
quoted
Right.  I missed a bit in the patch.
(I assume you are still wanting to boot off /dev/sda until you copy
the data into /dev/md/d0p* - then you will use root=/dev/md_d0p1)
Sorry, that patch was wrong.
This one, ontop of the original patch, works for me (I finally got
around to testing it).
Yes, it works! Great.

Now how to enable RAID1 on an existing disk...
Hmm. With a dynamic major, the system might fail at checking the root
file system at boot. At that time, /dev is still read-only, and
/dev/md/d0p1 might not be the correct device yet.

So either mdp needs its own partition number, or we need a /dev/root
device that's an alias for the current root (like /dev/console).

Fortunately, that's very easy. Which makes me wonder why this hasn't
been done before .. what am I overlooking ?

Patch below uses 4,1 which is just arbitrary, ofcourse. Comments ?
--- linux-2.6.3/fs/block_dev.c	2004-02-18 04:59:58.000000000 +0100
+++ linux-2.6.3-bk8-mdp/fs/block_dev.c	2004-02-28 01:58:27.000000000 +0100
@@ -339,6 +339,11 @@ struct block_device *bdget(dev_t dev)
 	struct block_device *bdev;
 	struct inode *inode;
 
+#if 1 /* XXX miquels */
+	if (dev == MKDEV(4, 1))
+		dev = current->fs->pwdmnt->mnt_sb->s_dev;
+#endif
+
 	inode = iget5_locked(bd_mnt->mnt_sb, hash(dev),
 			bdev_test, bdev_set, &dev);
 
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help