summaryrefslogtreecommitdiff
path: root/open_issues/blkrrpart_ioctl.mdwn
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2009-05-18 12:27:11 +0200
committerThomas Schwinge <tschwinge@gnu.org>2009-05-18 12:28:51 +0200
commit445902c4b350d6ef6acba1fc46f71e180d561ccb (patch)
tree54fd93cd8b2e407e7e3fe61f40e396ee8a4434e9 /open_issues/blkrrpart_ioctl.mdwn
parent3563bb7ec72ef97a1e694b84fe6a22ae5a79073d (diff)
BLKRRPART IOCTL open issue.
Diffstat (limited to 'open_issues/blkrrpart_ioctl.mdwn')
-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.