Re: Lots of SCSI-disks, how?!

Jakub Jelinek (jj@sunsite.ms.mff.cuni.cz)
Wed, 22 Apr 1998 07:46:26 +0200 (MET DST)


> So i_rdev would remain as 16 bits, and a new i_rdeve (extended) would
> be appended to struct inode which libc 5 would not know about. This
> splitting of the device number looks a bit ugly to me. It would also
> break the MAJOR, MINOR and MKDEV macros in the kernel. Instead of
> carrying around the kdev_t number, instead you would need to carry the
> struct inode. That's going to break a lot of code.

I have a working solution for this already in the vger CVS, half of it has
been already merged into 2.1.97, the other part might be soon.
Even with libc5, I can do anything I want with 43 disks attached to the
machine, like building ultra-large raid devices, etc.

There are two new system calls: xstat and xmknod, which have reasonably
sized entries (like 64bit sizes, 64bit dev_t, 32bit uids/gids, etc.).
Now, in order to use it with libc5, you'd need a hacked up mknod program,
which will check if you want to build minor > 255 and if that's true, use
the xmknod system call instead of mknod.
fdisk works without problems, the only problems I had were with raidtools:
I had to hack them up, so that they use xstat syscall to find out the minor
of the device and have added a new ioctl for creating a RAID, which takes
32bit majors and 32bit minors.

Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.95 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu