summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--open_issues/blkrrpart_ioctl.mdwn32
1 files changed, 32 insertions, 0 deletions
diff --git a/open_issues/blkrrpart_ioctl.mdwn b/open_issues/blkrrpart_ioctl.mdwn
new file mode 100644
index 00000000..6a4c0378
--- /dev/null
+++ b/open_issues/blkrrpart_ioctl.mdwn
@@ -0,0 +1,32 @@
+[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+
+[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled
+[[GNU_Free_Documentation_License|/fdl]]."]]"""]]
+
+[[meta title="BLKRRPART IOCTL"]]
+
+[[tag open_issue_glibc open_issue_hurd open_issue_gnumach]]
+
+Just like in other Unix systems one can, for example, use `fdisk` or `parted`
+to manage hard disks' partition tables. After doing changes to a disk's
+partition table, the kernel has to be instructed to reinitialize its internal
+data structures: where does a partition begin, where does it end, etc.
+
+With `fdisk` and friends this is done on Linux with the `BLKRRPART` IOCTL,
+which is used to tell the kernel to reread the disk's partition table.
+
+`parted` also uses this interface on Linux, but for GNU Hurd, the corresponding
+function, `libparted/arch/gnu.c (gnu_disk_commit)`, doesn't do anything at all.
+The infrastructure in [[GNU_Mach|microkernel/mach/gnumach]] is already there,
+`linux/src/drivers/block/ide.c (ide_ioctl) <BLKRRPART>` and
+`linux/src/drivers/scsi/sd_ioctl.c (sd_ioctl) <BLKRRPART>`, but the IOCTL needs
+to be routed from `libparted` through [[glibc]]'s Hurd IOCTL interface, through
+Hurd's [[hurd/libstore]], to [[GNU_Mach|microkernel/mach/gnumach]].
+
+This is not a huge project, and actually one that is suitable for someone who
+wants to start with hacking the system.