unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#27690] [PATCH] build: Allow mounting of entire disks.
@ 2017-07-14  8:32 Danny Milosavljevic
  2017-07-17  9:28 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Danny Milosavljevic @ 2017-07-14  8:32 UTC (permalink / raw)
  To: 27690

* gnu/build/file-systems.scm (disk-partitions): Also return entire drives.
---
 gnu/build/file-systems.scm | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index b6930497d..462ed9b7f 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -377,11 +377,14 @@ not valid header was found."
     (string-ref str (- (string-length str) 1)))
 
   (define (partition? name major minor)
-    ;; Select device names that end in a digit, like libblkid's 'probe_all'
-    ;; function does.  Checking for "/sys/dev/block/MAJOR:MINOR/partition"
-    ;; doesn't work for partitions coming from mapped devices.
-    (and (char-set-contains? char-set:digit (last-character name))
-         (> major 2)))                      ;ignore RAM disks and floppy disks
+    ;; grub-mkrescue does some funny things for EFI support which
+    ;; makes it a lot more difficult than one would expect to support
+    ;; booting an ISO-9660 image from an USB flash drive.
+    ;; For example there's a buggy (too small) hidden partition in it
+    ;; which Linux rightfully refuses to mount.
+    ;; In any case, partition tables are supposed to be optional so
+    ;; here we allow checking entire disks for file systems, too.
+    (> major 2))                      ;ignore RAM disks and floppy disks
 
   (call-with-input-file "/proc/partitions"
     (lambda (port)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#27690] [PATCH] build: Allow mounting of entire disks.
  2017-07-14  8:32 [bug#27690] [PATCH] build: Allow mounting of entire disks Danny Milosavljevic
@ 2017-07-17  9:28 ` Ludovic Courtès
  2017-09-05 13:22   ` bug#27690: " Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2017-07-17  9:28 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 27690

Hello,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

> * gnu/build/file-systems.scm (disk-partitions): Also return entire drives.

In the subject line, please write “file-systems:” instead of “build:”
(the latter is for Makefile and configury.)

> --- a/gnu/build/file-systems.scm
> +++ b/gnu/build/file-systems.scm
> @@ -377,11 +377,14 @@ not valid header was found."
>      (string-ref str (- (string-length str) 1)))
>  
>    (define (partition? name major minor)
> -    ;; Select device names that end in a digit, like libblkid's 'probe_all'
> -    ;; function does.  Checking for "/sys/dev/block/MAJOR:MINOR/partition"
> -    ;; doesn't work for partitions coming from mapped devices.
> -    (and (char-set-contains? char-set:digit (last-character name))
> -         (> major 2)))                      ;ignore RAM disks and floppy disks
> +    ;; grub-mkrescue does some funny things for EFI support which
> +    ;; makes it a lot more difficult than one would expect to support
> +    ;; booting an ISO-9660 image from an USB flash drive.
> +    ;; For example there's a buggy (too small) hidden partition in it
> +    ;; which Linux rightfully refuses to mount.
> +    ;; In any case, partition tables are supposed to be optional so
> +    ;; here we allow checking entire disks for file systems, too.
> +    (> major 2))                      ;ignore RAM disks and floppy disks

I think you can remove ‘last-character’ and keep the comment about
/sys/dev/block.

Have you tested that this doesn’t cause any problems on actual hardware,
like matching things that should really be skipped, and then causing
failures down the road in label/UUID code?

Also, it seems that we’d be departing from what libblkid is doing, per
the comment above.  To me that raises a flag, though if we really need
it that’s fine of course.

Thoughts?  :-)

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#27690: [PATCH] build: Allow mounting of entire disks.
  2017-07-17  9:28 ` Ludovic Courtès
@ 2017-09-05 13:22   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2017-09-05 13:22 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: 27690-done

This was pushed as 9833bcfc08ef009b9e8b4398baa481ef65c80ad7, closing!

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-09-05 13:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-14  8:32 [bug#27690] [PATCH] build: Allow mounting of entire disks Danny Milosavljevic
2017-07-17  9:28 ` Ludovic Courtès
2017-09-05 13:22   ` bug#27690: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).