Subject: Re: Partition tables (was: Re: Another changer, another changer problem)
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: Chief Anarchic Officer <>
List: current-users
Date: 10/14/1998 23:31:02
der Mouse sez:
 * > struct diskaccess da[1];	/* contains a struct diskpart */
 * > da->disk="sd0";
 * > fd=open("/dev/diskpart", O_RDWR)
 * > ioctl(fd, DKIOCGDTAB, &da);
 * > and the diskpart driver would automagically handle the routing.
 * The first problem that comes to mind with this is that it means that
 * anyone who can open /dev/diskpart for read or write can read or write
 * *any* disk's partition table.

Possible responses:

1. "No, you're reading more into what I wrote than what is there.  I
    was trying to imply 'O_RDWR or O_RDONLY as appropriate.'  Got lost
    somewhere in there, sorry."

2. "So have permission bits in there somewhere."

Okay, okay, that's a hack, I admit it.  But you've gotta admit that there's
a certain degree of elegance in being able to do it this way:

	- you only need one more device.
	- the kernel side handles the routing.

 * I can easily see myself wanting to give random users the ability to
 * frob the partition table on /dev/sd3? (the zip drive) but being not
 * about to let them do likewise with sd[012]? (root, /usr, etc).

How about a check for the kind of drive it is, such as removable/fixed
media?  That's a pretty big (as in 'obvious') flag.  If you have a fixed
drive, it could refuse read-write to anyone not in the group owning

hack, kludge, wheeze, cough, okay, it's hokey.

But SOMETHING along these lines could be made to work, and work well.
The permission thing, is, however, a sticky wicket.

 * 					der Mouse
 * 		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

Just because memory, disk and cpu speed are cheap is no excuse for
shoddy programming.