diff --git a/basis/io/files/info/info.factor b/basis/io/files/info/info.factor index baf41ab88c..555620aa33 100644 --- a/basis/io/files/info/info.factor +++ b/basis/io/files/info/info.factor @@ -34,8 +34,10 @@ HOOK: file-readable? os ( path -- ? ) HOOK: file-writable? os ( path -- ? ) HOOK: file-executable? os ( path -- ? ) -: mount-points ( -- assoc ) - file-systems [ [ mount-point>> canonicalize-path-full ] keep ] H{ } map>assoc ; +HOOK: mount-points os ( -- assoc ) + +M: object mount-points + file-systems [ [ mount-point>> ] keep ] H{ } map>assoc ; : (find-mount-point-info) ( path assoc -- mtab-entry ) [ resolve-symlinks canonicalize-path-full ] dip diff --git a/basis/io/files/info/unix/linux/linux.factor b/basis/io/files/info/unix/linux/linux.factor index 1bf37532f1..e179354685 100644 --- a/basis/io/files/info/unix/linux/linux.factor +++ b/basis/io/files/info/unix/linux/linux.factor @@ -78,6 +78,9 @@ frequency pass-number ; } cleave ] [ { [ libc-error? ] [ errno>> EACCES = ] } 1&& ] ignore-error/f ; +M: linux mount-points + parse-mtab [ [ mount-point>> ] keep ] H{ } map>assoc ; + M: linux file-systems parse-mtab [ mtab-entry>file-system-info ] map sift ;