diff options
Diffstat (limited to 'lib/ManaTools/Shared/disk_backend/Plugin')
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm | 15 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Extfs.pm | 11 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin/Mount.pm | 11 |
3 files changed, 37 insertions, 0 deletions
diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm index 508a298d..9ee2a06e 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Btrfs.pm @@ -228,6 +228,21 @@ extends 'ManaTools::Shared::disk_backend::Part'; use MooseX::ClassAttribute; +with 'ManaTools::Shared::disk_backend::Mountable'; + +sub _get_mount_source { + my $self = shift; + my $fs = $self->fs(); + + # TODO: multiple parents + # get parent partlink (which should be a blockdevice anyway) + my $parent = $fs->find_part(undef, 'parent'); + return undef if (!defined $parent); + + # return parent's devicepath + return $parent->devicepath(); +} + class_has '+type' => ( default => 'BtrfsVol' ); diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Extfs.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Extfs.pm index 4dc6de27..84f8aca4 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Extfs.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Extfs.pm @@ -181,6 +181,17 @@ use MooseX::ClassAttribute; with 'ManaTools::Shared::disk_backend::Mountable'; +sub _get_mount_source { + my $self = shift; + + # get parent partlink (which should be a blockdevice anyway) + my $parent = $self->find_part(undef, 'parent'); + return undef if (!defined $parent); + + # return parent's devicepath + return $parent->devicepath(); +} + class_has '+type' => ( default => 'Extfs' ); diff --git a/lib/ManaTools/Shared/disk_backend/Plugin/Mount.pm b/lib/ManaTools/Shared/disk_backend/Plugin/Mount.pm index f93c4e6d..96aa6227 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin/Mount.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin/Mount.pm @@ -567,6 +567,7 @@ extends 'ManaTools::Shared::disk_backend::Part'; use MooseX::ClassAttribute; with 'ManaTools::Shared::disk_backend::FileSystem'; +with 'ManaTools::Shared::disk_backend::Mountable'; class_has '+type' => ( default => 'UnknownFS' @@ -589,5 +590,15 @@ class_has '+restrictions' => ( } ); +sub _get_mount_source { + my $self = shift; + + # get parent partlink (which should be a blockdevice anyway) + my $parent = $self->find_part(undef, 'parent'); + return undef if (!defined $parent); + + # return parent's devicepath + return $parent->devicepath(); +} 1; |