aboutsummaryrefslogtreecommitdiff
path: root/src/connection
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2022-06-24 17:13:57 -0700
committerSean Whitton <spwhitton@spwhitton.name>2022-06-24 17:36:34 -0700
commit7a67c9e3fab93f6552106d5907ef6f07e57f277b (patch)
tree2a681ce2bdcbc16491087219b18caad5301b1a0f /src/connection
parentcff531a1810a6213fdc117e0853c2b8622715157 (diff)
downloadconsfigurator-7a67c9e3fab93f6552106d5907ef6f07e57f277b.tar.gz
fix FSTAB:HAS-ENTRIES-FOR-OPENED-VOLUMES for FAT32 filesystems
The property should never have been calling SUBVOLUMES-OF-TYPE because opening volumes does not ever update the VOLUME-CONTENTS slot to contain OPENED-VOLUME values. The structure of the OPENED-VOLUMES connattr is that of a flat list. Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/connection')
-rw-r--r--src/connection/chroot.lisp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/connection/chroot.lisp b/src/connection/chroot.lisp
index 854043e..a4a67d3 100644
--- a/src/connection/chroot.lisp
+++ b/src/connection/chroot.lisp
@@ -67,10 +67,9 @@ should be the mount point, without the chroot's root prefixed.")
(when (remote-exists-p "/sys/firmware/efi/efivars")
(apply #'chroot-mount connection mount:+linux-efivars-vfs+)))))
-(defmethod propagate-connattr
- ((type (eql 'disk:opened-volumes)) connattr (connection chroot-connection))
+(defun copy-and-update-volumes (volumes connection)
(with-slots (into) connection
- (loop for volume in connattr
+ (loop for volume in volumes
when (and (subtypep (type-of volume) 'disk:filesystem)
(slot-boundp volume 'disk:mount-point)
(subpathp (disk:mount-point volume) into))
@@ -80,6 +79,14 @@ should be the mount point, without the chroot's root prefixed.")
else collect volume)))
(defmethod propagate-connattr
+ ((type (eql 'disk:opened-volumes)) connattr (connection chroot-connection))
+ (copy-and-update-volumes connattr connection))
+
+(defmethod propagate-connattr
+ ((type (eql 'disk:opened-volume-parents)) connattr (connection chroot-connection))
+ (copy-and-update-volumes connattr connection))
+
+(defmethod propagate-connattr
((type (eql :remote-uid)) connattr (connection chroot-connection))
connattr)