uuid: Add support for exFAT.

We expect users to use the generic STRING->FAT-UUID procedure.
This is consistent with how we already treat FAT32 vs FAT16.
It is not consistent with how we export 8 different aliases for
STRING->DCE-UUID, but I'm unconvinced that would be better.

* gnu/system/uuid.scm (%uuid-parsers, %uuid-printers):
Add the ‘exfat’ file system type.

Change-Id: Ia31482716e4395f9f10f794f49fb31c9f330a2e3
This commit is contained in:
Tobias Geerinckx-Rice 2024-09-01 02:00:00 +02:00
parent 191e0f9e52
commit 876c343bbf
No known key found for this signature in database
GPG key ID: 0DB0FF884F556D79

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20192020, 2024 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -169,7 +169,7 @@ (define (digits->string bytes)
;;;
;;; FAT32/FAT16.
;;; exFAT/FAT32/FAT16.
;;;
(define-syntax %fat-endianness
@ -258,7 +258,7 @@ (define %uuid-parsers
(vhashq
('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks
=> string->dce-uuid)
('fat32 'fat16 'fat => string->fat-uuid)
('exfat 'fat32 'fat16 'fat => string->fat-uuid)
('ntfs => string->ntfs-uuid)
('iso9660 => string->iso9660-uuid)))
@ -267,7 +267,7 @@ (define %uuid-printers
('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'f2fs 'jfs 'xfs 'luks
=> dce-uuid->string)
('iso9660 => iso9660-uuid->string)
('fat32 'fat16 'fat => fat-uuid->string)
('exfat 'fat32 'fat16 'fat => fat-uuid->string)
('ntfs => ntfs-uuid->string)))
(define* (string->uuid str #:optional (type 'dce))