24 #ifndef STORAGE_FILESYSTEM_H
25 #define STORAGE_FILESYSTEM_H
31 #include "storage/Devices/Device.h"
42 UNKNOWN, REISERFS, EXT2, EXT3, EXT4, BTRFS, VFAT, XFS, JFS, HFS, NTFS,
43 SWAP, HFSPLUS, NFS, NFS4, TMPFS, ISO9660, UDF
49 DEVICE, UUID, LABEL, ID, PATH
53 std::string get_mount_by_name(
MountByType mount_by_type);
62 static std::vector<Filesystem*> get_all(
Devicegraph* devicegraph);
63 static std::vector<const Filesystem*> get_all(
const Devicegraph* devicegraph);
65 FsType get_type()
const;
67 virtual bool supports_label()
const = 0;
68 virtual unsigned int max_labelsize()
const = 0;
70 const std::string& get_label()
const;
71 void set_label(
const std::string& label);
73 virtual bool supports_uuid()
const = 0;
75 const std::string& get_uuid()
const;
76 void set_uuid(
const std::string& uuid);
78 const std::vector<std::string>& get_mountpoints()
const;
79 void set_mountpoints(
const std::vector<std::string>& mountpoints);
80 void add_mountpoint(
const std::string& mountpoint);
85 const std::list<std::string>& get_fstab_options()
const;
86 void set_fstab_options(
const std::list<std::string>& fstab_options);
88 const std::string& get_mkfs_options()
const;
89 void set_mkfs_options(
const std::string& mkfs_options);
91 const std::string& get_tune_options()
const;
92 void set_tune_options(
const std::string& tune_options);
99 ContentInfo detect_content_info()
const;
106 static std::vector<Filesystem*> find_by_label(
const Devicegraph* devicegraph,
107 const std::string& label);
109 static std::vector<Filesystem*> find_by_mountpoint(
const Devicegraph* devicegraph,
110 const std::string& mountpoint);
113 std::vector<const BlkDevice*> get_blk_devices()
const;
120 const Impl& get_impl()
const;
129 bool is_filesystem(
const Device* device);
void set_resize_info(const ResizeInfo &resize_info)
Set the ResizeInfo.
The master container of the libstorage.
Definition: Devicegraph.h:133
void set_content_info(const ContentInfo &content_info)
Set the ResizeInfo.
An abstract base class of storage devices, and a vertex in the Devicegraph.
Definition: Device.h:73
Definition: Filesystem.h:58
The storage namespace.
Definition: Actiongraph.h:36
MountByType
The key by which the mount program identifies a filesystem.
Definition: Filesystem.h:48