aboutsummaryrefslogtreecommitdiff
path: root/src/connection/chroot.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/connection/chroot.lisp')
-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)