24#ifndef STORAGE_FREE_INFO_H
25#define STORAGE_FREE_INFO_H
28#include <libxml/tree.h>
202 ResizeInfo(
bool resize_ok, uint32_t reasons,
unsigned long long min_size,
unsigned long long max_size);
204 ResizeInfo(
bool resize_ok, uint32_t reasons);
214 void combine_min(
unsigned long long extra_min_size);
216 void combine_max(
unsigned long long extra_max_size);
218 void combine_block_size(
unsigned long long extra_block_size);
226 void shift(
unsigned long long offset);
232 unsigned long long min_size;
233 unsigned long long max_size;
235 unsigned long long block_size;
237 friend std::ostream& operator<<(std::ostream& out,
const ResizeInfo& resize_info);
241 ResizeInfo(
const xmlNode* node);
243 void save(xmlNode* node)
const;
290 RemoveInfo(
bool remove_ok, uint32_t reasons);
296 friend std::ostream& operator<<(std::ostream& out,
const RemoveInfo& remove_info);
305 ContentInfo(
bool is_windows,
bool is_efi,
unsigned num_homes);
312 friend std::ostream& operator<<(std::ostream& out,
const ContentInfo& content_info);
316 ContentInfo(
const xmlNode* node);
318 void save(xmlNode* node)
const;
327 SpaceInfo(
unsigned long long size,
unsigned long long used);
329 unsigned long long size;
330 unsigned long long used;
332 std::string get_size_string()
const;
334 friend std::ostream& operator<<(std::ostream& out,
const SpaceInfo& space_info);
338 SpaceInfo(
const xmlNode* node);
340 void save(xmlNode* node)
const;
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....
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_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:281
@ RMB_RENUMBER_ACTIVE_PARTITIONS
Removing the partition would result in renumbering of partitions with active stuff on them.
Definition FreeInfo.h:275
@ RMB_HARDWARE
The device corresponds to hardware, e.g.
Definition FreeInfo.h:269