24#ifndef STORAGE_FREE_INFO_H
25#define STORAGE_FREE_INFO_H
28#include <libxml/tree.h>
209 ResizeInfo(
bool resize_ok, uint32_t reasons,
unsigned long long min_size,
unsigned long long max_size);
221 void combine_min(
unsigned long long extra_min_size);
223 void combine_max(
unsigned long long extra_max_size);
225 void combine_block_size(
unsigned long long extra_block_size);
233 void shift(
unsigned long long offset);
239 unsigned long long min_size;
240 unsigned long long max_size;
242 unsigned long long block_size;
244 friend std::ostream& operator<<(std::ostream& out,
const ResizeInfo& resize_info);
250 void save(xmlNode* node)
const;
303 friend std::ostream& operator<<(std::ostream& out,
const RemoveInfo& remove_info);
312 ContentInfo(
bool is_windows,
bool is_efi,
unsigned num_homes);
319 friend std::ostream& operator<<(std::ostream& out,
const ContentInfo& content_info);
325 void save(xmlNode* node)
const;
334 SpaceInfo(
unsigned long long size,
unsigned long long used);
336 unsigned long long size;
337 unsigned long long used;
339 std::string get_size_string()
const;
341 friend std::ostream& operator<<(std::ostream& out,
const SpaceInfo& space_info);
347 void save(xmlNode* node)
const;
Definition FreeInfo.h:309
Definition FreeInfo.h:294
Definition FreeInfo.h:206
void shift(unsigned long long offset)
min_size += offset max_size += offset
void combine(ResizeInfo extra_resize_info)
min_size = max(min_size, extra_resize_info.min_size) max_size = min(max_size, extra_resize_info....
Definition FreeInfo.h:331
The storage namespace.
Definition Actiongraph.h:40
@ RB_MIN_SIZE_FOR_FILESYSTEM
The filesystem has already the minimal possible size.
Definition FreeInfo.h:95
@ RB_FILESYSTEM_MOUNT_READ_ONLY
The filesystem is mounted read-only.
Definition FreeInfo.h:200
@ RB_MIN_SIZE_FOR_PARTITION
The partition has already the minimal possible size.
Definition FreeInfo.h:125
@ RB_RESIZE_NOT_SUPPORTED_DUE_TO_SNAPSHOTS
Resize of LVM logical volume is not supported since it has snapshots.
Definition FreeInfo.h:193
@ RB_MIN_MAX_ERROR
Several limitations were combined, e.g.
Definition FreeInfo.h:66
@ RB_EXTENDED_PARTITION
Extended partitions cannot be resized.
Definition FreeInfo.h:132
@ RB_MIN_SIZE_FOR_LVM_LV
The LVM logical volume has already the minimal possible size.
Definition FreeInfo.h:167
@ RB_SHRINK_NOT_SUPPORTED_FOR_LVM_LV_TYPE
Shrink of LVM logical volume of this type not supported, e.g.
Definition FreeInfo.h:146
@ RB_ON_IMPLICIT_PARTITION_TABLE
Partition on an implicit partition table cannot be resized.
Definition FreeInfo.h:139
@ RB_MAX_SIZE_FOR_LVM_LV_THIN
LVM thin logical volume has already maximal size.
Definition FreeInfo.h:174
@ RB_PASSWORD_REQUIRED
The encryption password is required.
Definition FreeInfo.h:186
@ RB_FILESYSTEM_INCONSISTENT
The filesystem seems to be inconsistent or checking filesystem consistency failed.
Definition FreeInfo.h:88
@ RB_MAX_SIZE_FOR_FILESYSTEM
The filesystem has already the maximal possible size.
Definition FreeInfo.h:102
@ RB_SHRINK_NOT_SUPPORTED_BY_FILESYSTEM
The filesystem does not support shrink.
Definition FreeInfo.h:73
@ RB_RESIZE_NOT_SUPPORTED_FOR_LVM_LV_TYPE
Resize of LVM logical volume of this type not supported, e.g.
Definition FreeInfo.h:153
@ RB_NO_SPACE_BEHIND_PARTITION
No space behind partition.
Definition FreeInfo.h:118
@ RB_NO_SPACE_IN_LVM_VG
No space left in LVM volume group.
Definition FreeInfo.h:160
@ RB_FILESYSTEM_FULL
The filesystem is full and cannot be shrunk.
Definition FreeInfo.h:109
@ RB_RESIZE_NOT_SUPPORTED_BY_DEVICE
The device or one of its descendants that also needs resizing does not support resizing.
Definition FreeInfo.h:58
@ RB_SHRINK_NOT_SUPPORTED_BY_MULTIDEVICE_FILESYSTEM
Multi-device filesystems (i.e., Btrfs) do not support shrink.
Definition FreeInfo.h:181
@ RB_GROW_NOT_SUPPORTED_BY_FILESYSTEM
The filesystem does not support grow.
Definition FreeInfo.h:80
@ RMB_ON_IMPLICIT_PARTITION_TABLE
Partition on an implicit partition table cannot be removed - at least not without creating a partitio...
Definition FreeInfo.h:288
@ RMB_RENUMBER_ACTIVE_PARTITIONS
Removing the partition would result in renumbering of partitions with active stuff on them.
Definition FreeInfo.h:282
@ RMB_HARDWARE
The device corresponds to hardware, e.g.
Definition FreeInfo.h:276