yast2-storage
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends

storage::Storage Class Reference

Main class to access libstorage functionality. More...

#include <Storage.h>

Inheritance diagram for storage::Storage:
storage::StorageInterface noncopyable

List of all members.

Classes

struct  BtrfsCondIPair
struct  ConstBtrfsI
struct  ConstBtrfsPI
struct  ConstContainerI
struct  ConstContainerPI
struct  ConstDiskI
struct  ConstDiskPI
struct  ConstDmI
struct  ConstDmmultipathCoI
struct  ConstDmmultipathCoPI
struct  ConstDmmultipathI
struct  ConstDmmultipathPI
struct  ConstDmPartCoI
struct  ConstDmPartCoPI
struct  ConstDmPI
struct  ConstDmraidCoI
struct  ConstDmraidCoPI
struct  ConstDmraidI
struct  ConstDmraidPI
struct  ConstLoopI
struct  ConstLoopPI
struct  ConstLvmLvI
struct  ConstLvmLvPI
struct  ConstLvmVgI
struct  ConstLvmVgPI
struct  ConstMdI
struct  ConstMdPartCoI
struct  ConstMdPartCoPI
struct  ConstMdPartI
struct  ConstMdPartPI
struct  ConstMdPI
struct  ConstNfsI
struct  ConstNfsPI
struct  ConstPartitionI
struct  ConstPartitionPI
struct  ConstTmpfsI
struct  ConstTmpfsPI
struct  ConstVolumeI
struct  ConstVolumePI
struct  ContainerI
struct  ContainerPI
struct  ContCondIPair
struct  DiskCondIPair
struct  DiskI
struct  DiskPI
struct  DmCondIPair
struct  DmmultipathCoCondIPair
struct  DmmultipathCoI
struct  DmmultipathCondIPair
struct  DmmultipathCoPI
struct  DmPartCoCondIPair
struct  DmPartCoI
struct  DmPartCoPI
struct  DmraidCoCondIPair
struct  DmraidCoI
struct  DmraidCondIPair
struct  DmraidCoPI
struct  LoopCondIPair
struct  LvmLvCondIPair
struct  LvmVgCondIPair
struct  LvmVgI
struct  LvmVgPI
struct  MdCondIPair
struct  MdPartCoCondIPair
struct  MdPartCoI
struct  MdPartCondIPair
struct  MdPartCoPI
struct  NfsCondIPair
struct  PartCondIPair
struct  TmpfsCondIPair
struct  VolCondIPair
struct  VolumeI

Public Types

typedef DerefIterator
< ConstContPIterator, const
Container
ConstContIterator
typedef IterPair
< ConstContIterator
ConstContPair
typedef DerefIterator
< ConstDiskPIterator, const
Disk
ConstDiskIterator
typedef IterPair
< ConstDiskIterator
ConstDiskPair
typedef DerefIterator
< ConstLvmVgPIterator, const
LvmVg
ConstLvmVgIterator
typedef IterPair
< ConstLvmVgIterator
ConstLvmVgPair
typedef DerefIterator
< ConstDmPartCoPIterator,
const DmPartCo
ConstDmPartCoIterator
typedef IterPair
< ConstDmPartCoIterator
ConstDmPartCoPair
typedef DerefIterator
< ConstDmraidCoPIterator,
const DmraidCo
ConstDmraidCoIterator
typedef IterPair
< ConstDmraidCoIterator
ConstDmraidCoPair
typedef DerefIterator
< ConstDmmultipathCoPIterator,
const DmmultipathCo
ConstDmmultipathCoIterator
typedef IterPair
< ConstDmmultipathCoIterator
ConstDmmultipathCoPair
typedef DerefIterator
< ConstMdPartCoPIterator,
const MdPartCo
ConstMdPartCoIterator
typedef IterPair
< ConstMdPartCoIterator
ConstMdPartCoPair
typedef DerefIterator
< ConstVolPIterator, const
Volume
ConstVolIterator
typedef IterPair
< ConstVolIterator
ConstVolPair
typedef DerefIterator
< ConstPartPIterator, const
Partition
ConstPartIterator
typedef IterPair
< ConstPartIterator
ConstPartPair
typedef DerefIterator
< ConstLvmLvPIterator, const
LvmLv
ConstLvmLvIterator
typedef IterPair
< ConstLvmLvIterator
ConstLvmLvPair
typedef DerefIterator
< ConstMdPIterator, const Md
ConstMdIterator
typedef IterPair< ConstMdIteratorConstMdPair
typedef DerefIterator
< ConstMdPartPIterator, const
MdPart
ConstMdPartIterator
typedef IterPair
< ConstMdPartIterator
ConstMdPartPair
typedef DerefIterator
< ConstLoopPIterator, const
Loop
ConstLoopIterator
typedef IterPair
< ConstLoopIterator
ConstLoopPair
typedef DerefIterator
< ConstBtrfsPIterator, const
Btrfs
ConstBtrfsIterator
typedef IterPair
< ConstBtrfsIterator
ConstBtrfsPair
typedef DerefIterator
< ConstTmpfsPIterator, const
Tmpfs
ConstTmpfsIterator
typedef IterPair
< ConstTmpfsIterator
ConstTmpfsPair
typedef DerefIterator
< ConstNfsPIterator, const Nfs
ConstNfsIterator
typedef IterPair
< ConstNfsIterator
ConstNfsPair
typedef DerefIterator
< ConstDmPIterator, const Dm
ConstDmIterator
typedef IterPair< ConstDmIteratorConstDmPair
typedef DerefIterator
< ConstDmraidPIterator, const
Dmraid
ConstDmraidIterator
typedef IterPair
< ConstDmraidIterator
ConstDmraidPair
typedef DerefIterator
< ConstDmmultipathPIterator,
const Dmmultipath
ConstDmmultipathIterator
typedef IterPair
< ConstDmmultipathIterator
ConstDmmultipathPair

Public Member Functions

 Storage (const Environment &env)
bool readonly () const
bool testmode () const
bool autodetect () const
bool instsys () const
string logdir () const
string testdir () const
void setCacheChanges (bool val=true)
bool isCacheChanges () const
void assertInit ()
void rescanEverything ()
bool rescanCryptedObjects ()
int checkCache ()
const string & root () const
string prependRoot (const string &mp) const
const string & tmpDir () const
bool hasIScsiDisks () const
string bootMount () const
const ArchInfogetArchInfo () const
EtcFstabgetFstab ()
EtcMdadmgetMdadm ()
void handleLogFile (const string &name) const
void printInfo (std::ostream &str) const
void logCo (const Container *c) const
void logProcData (const string &str="") const
void clearUsedBy (const string &dev)
void clearUsedBy (const list< string > &devs)
void setUsedBy (const string &dev, UsedByType type, const string &device)
void setUsedBy (const list< string > &devs, UsedByType type, const string &device)
void setUsedByBtrfs (const string &dev, const string &uuid)
void addUsedBy (const string &dev, UsedByType type, const string &device)
void addUsedBy (const list< string > &devs, UsedByType type, const string &device)
void removeUsedBy (const string &dev, UsedByType type, const string &device)
void removeUsedBy (const list< string > &devs, UsedByType type, const string &device)
bool isUsedBy (const string &dev)
bool isUsedBy (const string &dev, UsedByType type)
bool isUsedBySingleBtrfs (const Volume &vol) const
bool isUsedBySingleBtrfs (const Volume &vol, const Volume **btrfs) const
bool canRemove (const Volume &vol) const
void fetchDanglingUsedBy (const string &dev, list< UsedBy > &uby)
bool canUseDevice (const string &dev, bool disks_allowed=false)
bool knownDevice (const string &dev, bool disks_allowed=false)
bool setDmcryptData (const string &dev, const string &dm, unsigned dmnum, unsigned long long siz, storage::EncryptType typ)
bool deletedDevice (const string &dev) const
bool isDisk (const string &dev)
const VolumegetVolume (const string &dev)
unsigned long long deviceSize (const string &dev)
const DevicedeviceByNumber (unsigned long maj, unsigned long min) const
void syncMdadm ()
void rootMounted ()
bool isRootMounted () const
string findNormalDevice (const string &device)
bool findVolume (const string &device, Volume const *&vol, bool no_btrfsc=false)
bool findUuid (const string &uuid, Volume const *&vol)
bool findDm (const string &device, const Dm *&dm)
bool findDmUsing (const string &device, const Dm *&dm)
bool findDevice (const string &dev, const Device *&vol, bool search_by_minor=false)
bool removeDm (const string &device)
int unaccessDev (const string &device)
virtual ~Storage ()
void getContainers (deque< storage::ContainerInfo > &infos)
int getDiskInfo (const string &disk, storage::DiskInfo &info)
int getLvmVgInfo (const string &name, storage::LvmVgInfo &info)
int getDmraidCoInfo (const string &name, storage::DmraidCoInfo &info)
int getDmmultipathCoInfo (const string &name, storage::DmmultipathCoInfo &info)
int getContDiskInfo (const string &disk, storage::ContainerInfo &cinfo, storage::DiskInfo &info)
int getContLvmVgInfo (const string &name, storage::ContainerInfo &cinfo, storage::LvmVgInfo &info)
int getContDmraidCoInfo (const string &name, storage::ContainerInfo &cinfo, storage::DmraidCoInfo &info)
int getContDmmultipathCoInfo (const string &name, storage::ContainerInfo &cinfo, storage::DmmultipathCoInfo &info)
void getVolumes (deque< storage::VolumeInfo > &vlist)
int getVolume (const string &device, storage::VolumeInfo &info)
int getPartitionInfo (const string &disk, deque< storage::PartitionInfo > &plist)
int getLvmLvInfo (const string &name, deque< storage::LvmLvInfo > &plist)
int getMdInfo (deque< storage::MdInfo > &plist)
int getMdPartInfo (const string &device, deque< storage::MdPartInfo > &plist)
int getDmInfo (deque< storage::DmInfo > &plist)
int getNfsInfo (deque< storage::NfsInfo > &plist)
int getLoopInfo (deque< storage::LoopInfo > &plist)
int getBtrfsInfo (deque< storage::BtrfsInfo > &plist)
int getTmpfsInfo (deque< storage::TmpfsInfo > &plist)
int getDmraidInfo (const string &name, deque< storage::DmraidInfo > &plist)
int getDmmultipathInfo (const string &name, deque< storage::DmmultipathInfo > &plist)
int getContVolInfo (const string &dev, ContVolInfo &info)
bool getFsCapabilities (storage::FsType fstype, storage::FsCapabilities &fscapabilities) const
bool getDlabelCapabilities (const string &dlabel, storage::DlabelCapabilities &dlabelcapabilities) const
list< string > getAllUsedFs () const
void setExtError (const string &txt)
int createPartition (const string &disk, storage::PartitionType type, unsigned long start, unsigned long size, string &device)
int resizePartition (const string &device, unsigned long sizeCyl)
int resizePartitionNoFs (const string &device, unsigned long sizeCyl)
int nextFreePartition (const string &disk, storage::PartitionType type, unsigned &nr, string &device)
int updatePartitionArea (const string &device, unsigned long start, unsigned long size)
int freeCylindersAroundPartition (const string &device, unsigned long &freeCylsBefore, unsigned long &freeCylsAfter)
int createPartitionKb (const string &disk, storage::PartitionType type, unsigned long long start, unsigned long long sizek, string &device)
int createPartitionAny (const string &disk, unsigned long long size, string &device)
int createPartitionMax (const string &disk, storage::PartitionType type, string &device)
unsigned long kbToCylinder (const string &disk, unsigned long long size)
unsigned long long cylinderToKb (const string &disk, unsigned long size)
int removePartition (const string &partition)
int changePartitionId (const string &partition, unsigned id)
int forgetChangePartitionId (const string &partition)
string getPartitionPrefix (const string &disk)
string getPartitionName (const string &disk, int partition_no)
int getUnusedPartitionSlots (const string &disk, list< PartitionSlotInfo > &slots)
int destroyPartitionTable (const string &disk, const string &label)
int initializeDisk (const string &disk, bool value)
string defaultDiskLabel (const string &device)
int changeFormatVolume (const string &device, bool format, storage::FsType fs)
int changeLabelVolume (const string &device, const string &label)
int eraseLabelVolume (const string &device)
int changeMkfsOptVolume (const string &device, const string &opts)
int changeTunefsOptVolume (const string &device, const string &opts)
int changeDescText (const string &device, const string &txt)
int changeMountPoint (const string &device, const string &mount)
int getMountPoint (const string &device, string &mount)
int changeMountBy (const string &device, storage::MountByType mby)
int getMountBy (const string &device, storage::MountByType &mby)
int changeFstabOptions (const string &, const string &options)
int getFstabOptions (const string &device, string &options)
int addFstabOptions (const string &, const string &options)
int removeFstabOptions (const string &, const string &options)
int setCryptPassword (const string &device, const string &pwd)
int verifyCryptPassword (const string &device, const string &pwd, bool erase)
int verifyCryptFilePassword (const string &file, const string &pwd)
bool needCryptPassword (const string &device)
int forgetCryptPassword (const string &device)
int getCryptPassword (const string &device, string &pwd)
int setCrypt (const string &device, bool val)
int setCryptType (const string &device, bool val, EncryptType typ)
int getCrypt (const string &device, bool &val)
int setIgnoreFstab (const string &device, bool val)
int getIgnoreFstab (const string &device, bool &val)
int addFstabEntry (const string &device, const string &mount, const string &vfs, const string &options, unsigned freq, unsigned passno)
int resizeVolume (const string &device, unsigned long long newSizeK)
int resizeVolumeNoFs (const string &device, unsigned long long newSizeK)
int forgetResizeVolume (const string &device)
void setRecursiveRemoval (bool val=true)
bool getRecursiveRemoval () const
int getRecursiveUsing (const string &device, list< string > &devices)
int getRecursiveUsingHelper (const string &device, list< string > &devices)
int getRecursiveUsedBy (const list< string > &device, bool itself, list< string > &usedby_devices)
int getRecursiveUsedByHelper (const string &device, bool itself, list< string > &usedby_devices)
void setZeroNewPartitions (bool val=true)
bool getZeroNewPartitions () const
void setPartitionAlignment (PartAlign val)
PartAlign getPartitionAlignment () const
void setDefaultMountBy (MountByType mby)
MountByType getDefaultMountBy () const
void setDefaultFs (FsType fs)
FsType getDefaultFs () const
void setDefaultSubvolName (const string &val)
string getDefaultSubvolName () const
void setDetectMountedVolumes (bool val=true)
bool getDetectMountedVolumes () const
bool getEfiBoot ()
void setRootPrefix (const string &root)
string getRootPrefix () const
int removeVolume (const string &device)
int removeUsing (const string &device, const list< UsedBy > &uby)
bool checkDeviceMounted (const string &device, list< string > &mps)
bool umountDevice (const string &device)
bool umountDeviceUns (const string &device, bool unsetup)
bool umountDev (const string &device, bool dounsetup=false)
bool mountDev (const string &device, const string &mp, bool ro=true, const string &opts="")
bool mountDevice (const string &device, const string &mp)
bool mountDeviceOpts (const string &device, const string &mp, const string &opts)
bool mountDeviceRo (const string &device, const string &mp, const string &opts)
int activateEncryption (const string &device, bool on)
bool readFstab (const string &dir, deque< storage::VolumeInfo > &infos)
bool getFreeInfo (const string &device, bool get_resize, ResizeInfo &resize_info, bool get_content, ContentInfo &content_info, bool use_cache)
int createBackupState (const string &name)
int removeBackupState (const string &name)
int restoreBackupState (const string &name)
bool checkBackupState (const string &name) const
bool equalBackupStates (const string &lhs, const string &rhs, bool verbose_log) const
int createLvmVg (const string &name, unsigned long long peSizeK, bool lvm1, const deque< string > &devs)
int removeLvmVg (const string &name)
int extendLvmVg (const string &name, const deque< string > &devs)
int shrinkLvmVg (const string &name, const deque< string > &devs)
int createLvmLv (const string &vg, const string &name, unsigned long long sizeK, unsigned stripes, string &device)
int removeLvmLvByDevice (const string &device)
int removeLvmLv (const string &vg, const string &name)
int changeLvStripeCount (const string &vg, const string &name, unsigned long stripes)
int changeLvStripeSize (const string &vg, const string &name, unsigned long long stripeSize)
int createLvmLvSnapshot (const string &vg, const string &origin, const string &name, unsigned long long cowSizeK, string &device)
int removeLvmLvSnapshot (const string &vg, const string &name)
int getLvmLvSnapshotStateInfo (const string &vg, const string &name, LvmLvSnapshotStateInfo &info)
int createLvmLvPool (const string &vg, const string &name, unsigned long long sizeK, string &device)
int createLvmLvThin (const string &vg, const string &name, const string &pool, unsigned long long sizeK, string &device)
int changeLvChunkSize (const string &vg, const string &name, unsigned long long chunkSizeK)
int nextFreeMd (unsigned &nr, string &device)
bool checkMdNumber (unsigned num)
int createMd (const string &name, MdType rtype, const list< string > &devs, const list< string > &spares)
int createMdAny (MdType rtype, const list< string > &devs, const list< string > &spares, string &device)
int removeMd (const string &name, bool destroySb=true)
int extendMd (const string &name, const list< string > &devs, const list< string > &spares)
int updateMd (const string &name, const list< string > &devs, const list< string > &spares)
int shrinkMd (const string &name, const list< string > &devs, const list< string > &spares)
int changeMdType (const string &name, storage::MdType rtype)
int changeMdChunk (const string &name, unsigned long chunk)
int changeMdParity (const string &name, storage::MdParity ptype)
int checkMd (const string &name)
int getMdStateInfo (const string &name, MdStateInfo &info)
int computeMdSize (MdType md_type, const list< string > &devices, const list< string > &spares, unsigned long long &sizeK)
list< int > getMdAllowedParity (MdType md_type, unsigned devices)
void setImsmDriver (ImsmDriver val)
ImsmDriver getImsmDriver () const
void setMultipathAutostart (MultipathAutostart val)
MultipathAutostart getMultipathAutostart () const
int getMdPartCoInfo (const string &name, MdPartCoInfo &info)
int getContMdPartCoInfo (const string &name, ContainerInfo &cinfo, MdPartCoInfo &info)
int getMdPartCoStateInfo (const string &name, MdPartCoStateInfo &info)
int removeMdPartCo (const string &devName, bool destroySb)
int addNfsDevice (const string &nfsDev, const string &opts, unsigned long long sizeK, const string &mp, bool nfs4)
int checkNfsDevice (const string &nfsDev, const string &opts, bool nfs4, unsigned long long &sizeK)
int createFileLoop (const string &lname, bool reuseExisting, unsigned long long sizeK, const string &mp, const string &pwd, string &device)
int modifyFileLoop (const string &device, const string &lname, bool reuseExisting, unsigned long long sizeK)
int removeFileLoop (const string &lname, bool removeFile)
int removeDmraid (const string &name)
bool existSubvolume (const string &device, const string &name)
int createSubvolume (const string &device, const string &name)
int removeSubvolume (const string &device, const string &name)
int extendBtrfsVolume (const string &device, const string &dev)
int extendBtrfsVolume (const string &device, const deque< string > &devs)
int shrinkBtrfsVolume (const string &device, const string &dev)
int shrinkBtrfsVolume (const string &device, const deque< string > &devs)
void setBtrfsUsedBy (const Btrfs *bt)
int addTmpfsMount (const string &mp, const string &opts)
int removeTmpfsMount (const string &mp)
void getCommitInfos (list< CommitInfo > &infos) const
const string & getLastAction () const
const string & getExtendedErrorMessage () const
void eraseCachedFreeInfo (const string &device)
void getDiskList (bool(*CheckFnc)(const Disk &), std::list< Disk * > &dl)
void changeDeviceName (const string &old, const string &nw)
int commit ()
string getErrorString (int error) const
void handleHald (bool stop)
void activateHld (bool val=true)
void activateMultipath (bool val=true)
void removeDmTableTo (const Volume &vol)
void removeDmTableTo (const string &device)
void removeDmTableTo (unsigned long mjr, unsigned long mnr)
bool removeDmTable (const string &table)
bool removeDmMapsTo (const string &dev)
bool checkDmMapsTo (const string &dev)
void updateDmEmptyPeMap ()
void dumpObjectList ()
void dumpCommitInfos () const
bool mountTmpRo (const Volume *vol, string &mp, const string &opts="")
bool mountTmp (const Volume *vol, string &mp, const string &opts="")
void setCallbackProgressBar (CallbackProgressBar pfnc)
CallbackProgressBar getCallbackProgressBar () const
void setCallbackShowInstallInfo (CallbackShowInstallInfo pfnc)
CallbackShowInstallInfo getCallbackShowInstallInfo () const
void setCallbackInfoPopup (CallbackInfoPopup pfnc)
CallbackInfoPopup getCallbackInfoPopup () const
void setCallbackYesNoPopup (CallbackYesNoPopup pfnc)
CallbackYesNoPopup getCallbackYesNoPopup () const
void setCallbackCommitErrorPopup (CallbackCommitErrorPopup pfnc)
CallbackCommitErrorPopup getCallbackCommitErrorPopup () const
void setCallbackPasswordPopup (CallbackPasswordPopup pfnc)
CallbackPasswordPopup getCallbackPasswordPopup () const
void addInfoPopupText (const string &disk, const Text &txt)
CallbackProgressBar getCallbackProgressBarTheOne () const
CallbackShowInstallInfo getCallbackShowInstallInfoTheOne () const
CallbackInfoPopup getCallbackInfoPopupTheOne () const
CallbackYesNoPopup getCallbackYesNoPopupTheOne () const
CallbackCommitErrorPopup getCallbackCommitErrorPopupTheOne () const
CallbackPasswordPopup getCallbackPasswordPopupTheOne () const
void progressBarCb (const string &id, unsigned cur, unsigned max) const
void showInfoCb (const Text &info, bool quiet)
void infoPopupCb (const Text &info) const
bool yesnoPopupCb (const Text &info) const
bool commitErrorPopupCb (int error, const Text &last_action, const string &extended_message) const
bool passwordPopupCb (const string &device, int attempts, string &password) const
ConstContPair contPair (bool(*CheckFnc)(const Container &)=NULL) const
ConstContIterator contBegin (bool(*CheckFnc)(const Container &)=NULL) const
ConstContIterator contEnd (bool(*CheckFnc)(const Container &)=NULL) const
template<class Pred >
ContCondIPair< Pred >::type contCondPair (const Pred &p) const
template<class Pred >
ConstContainerI< Pred >::type contCondBegin (const Pred &p) const
template<class Pred >
ConstContainerI< Pred >::type contCondEnd (const Pred &p) const
ConstDiskPair diskPair (bool(*CheckFnc)(const Disk &)=NULL) const
ConstDiskIterator diskBegin (bool(*CheckFnc)(const Disk &)=NULL) const
ConstDiskIterator diskEnd (bool(*CheckFnc)(const Disk &)=NULL) const
template<class Pred >
DiskCondIPair< Pred >::type diskCondPair (const Pred &p) const
template<class Pred >
ConstDiskI< Pred >::type diskCondBegin (const Pred &p) const
template<class Pred >
ConstDiskI< Pred >::type diskCondEnd (const Pred &p) const
ConstLvmVgPair lvmVgPair (bool(*CheckFnc)(const LvmVg &)=NULL) const
ConstLvmVgIterator lvmVgBegin (bool(*CheckFnc)(const LvmVg &)=NULL) const
ConstLvmVgIterator lvmVgEnd (bool(*CheckFnc)(const LvmVg &)=NULL) const
template<class Pred >
LvmVgCondIPair< Pred >::type lvmVgCondPair (const Pred &p) const
template<class Pred >
ConstLvmVgI< Pred >::type lvmVgCondBegin (const Pred &p) const
template<class Pred >
ConstLvmVgI< Pred >::type lvmVgCondEnd (const Pred &p) const
ConstDmPartCoPair dmpartCoPair (bool(*CheckFnc)(const DmPartCo &)=NULL) const
ConstDmPartCoIterator dmpartCoBegin (bool(*CheckFnc)(const DmPartCo &)=NULL) const
ConstDmPartCoIterator dmpartCoEnd (bool(*CheckFnc)(const DmPartCo &)=NULL) const
template<class Pred >
DmPartCoCondIPair< Pred >::type dmPartCoCondPair (const Pred &p) const
template<class Pred >
ConstDmPartCoI< Pred >::type dmpartCoCondBegin (const Pred &p) const
template<class Pred >
ConstDmPartCoI< Pred >::type dmpartCoCondEnd (const Pred &p) const
ConstDmraidCoPair dmraidCoPair (bool(*CheckFnc)(const DmraidCo &)=NULL) const
ConstDmraidCoIterator dmraidCoBegin (bool(*CheckFnc)(const DmraidCo &)=NULL) const
ConstDmraidCoIterator dmraidCoEnd (bool(*CheckFnc)(const DmraidCo &)=NULL) const
template<class Pred >
DmraidCoCondIPair< Pred >::type dmraidCoCondPair (const Pred &p) const
template<class Pred >
ConstDmraidCoI< Pred >::type dmraidCoCondBegin (const Pred &p) const
template<class Pred >
ConstDmraidCoI< Pred >::type dmraidCoCondEnd (const Pred &p) const
ConstDmmultipathCoPair dmmultipathCoPair (bool(*CheckFnc)(const DmmultipathCo &)=NULL) const
ConstDmmultipathCoIterator dmmultipathCoBegin (bool(*CheckFnc)(const DmmultipathCo &)=NULL) const
ConstDmmultipathCoIterator dmmultipathCoEnd (bool(*CheckFnc)(const DmmultipathCo &)=NULL) const
template<class Pred >
DmmultipathCoCondIPair< Pred >
::type 
dmmultipathCoCondPair (const Pred &p) const
template<class Pred >
ConstDmmultipathCoI< Pred >::type dmmultipathCoCondBegin (const Pred &p) const
template<class Pred >
ConstDmmultipathCoI< Pred >::type dmmultipathCoCondEnd (const Pred &p) const
ConstMdPartCoPair mdpartCoPair (bool(*CheckFnc)(const MdPartCo &)=NULL) const
ConstMdPartCoIterator mdpartCoBegin (bool(*CheckFnc)(const MdPartCo &)=NULL) const
ConstMdPartCoIterator mdpartCoEnd (bool(*CheckFnc)(const MdPartCo &)=NULL) const
template<class Pred >
MdPartCoCondIPair< Pred >::type mdPartCoCondPair (const Pred &p) const
template<class Pred >
ConstMdPartCoI< Pred >::type mdpartCoCondBegin (const Pred &p) const
template<class Pred >
ConstMdPartCoI< Pred >::type mdpartCoCondEnd (const Pred &p) const
ConstVolPair volPair (bool(*CheckCnt)(const Container &)) const
ConstVolPair volPair (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL) const
ConstVolIterator volBegin (bool(*CheckCnt)(const Container &)) const
ConstVolIterator volBegin (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL) const
ConstVolIterator volEnd (bool(*CheckCnt)(const Container &)) const
ConstVolIterator volEnd (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL) const
template<class Pred >
VolCondIPair< Pred >::type volCondPair (const Pred &p) const
template<class Pred >
ConstVolumeI< Pred >::type volCondBegin (const Pred &p) const
template<class Pred >
ConstVolumeI< Pred >::type volCondEnd (const Pred &p) const
ConstPartPair partPair (bool(*CheckCnt)(const Disk &)) const
ConstPartPair partPair (bool(*CheckPart)(const Partition &)=NULL, bool(*CheckCnt)(const Disk &)=NULL) const
ConstPartIterator partBegin (bool(*CheckDisk)(const Disk &)) const
ConstPartIterator partBegin (bool(*CheckPart)(const Partition &)=NULL, bool(*CheckDisk)(const Disk &)=NULL) const
ConstPartIterator partEnd (bool(*CheckDisk)(const Disk &)) const
ConstPartIterator partEnd (bool(*CheckPart)(const Partition &)=NULL, bool(*CheckDisk)(const Disk &)=NULL) const
template<class Pred >
PartCondIPair< Pred >::type partCondPair (const Pred &p) const
template<class Pred >
ConstPartitionI< Pred >::type partCondBegin (const Pred &p) const
template<class Pred >
ConstPartitionI< Pred >::type partCondEnd (const Pred &p) const
ConstLvmLvPair lvmLvPair (bool(*CheckLvmVg)(const LvmVg &)) const
ConstLvmLvPair lvmLvPair (bool(*CheckLvmLv)(const LvmLv &)=NULL, bool(*CheckLvmVg)(const LvmVg &)=NULL) const
ConstLvmLvIterator lvmLvBegin (bool(*CheckLvmVg)(const LvmVg &)) const
ConstLvmLvIterator lvmLvBegin (bool(*CheckLvmLv)(const LvmLv &)=NULL, bool(*CheckLvmVg)(const LvmVg &)=NULL) const
ConstLvmLvIterator lvmLvEnd (bool(*CheckLvmVg)(const LvmVg &)) const
ConstLvmLvIterator lvmLvEnd (bool(*CheckLvmLv)(const LvmLv &)=NULL, bool(*CheckLvmVg)(const LvmVg &)=NULL) const
template<class Pred >
LvmLvCondIPair< Pred >::type lvmLvCondPair (const Pred &p) const
template<class Pred >
ConstLvmLvI< Pred >::type lvmLvCondBegin (const Pred &p) const
template<class Pred >
ConstLvmLvI< Pred >::type lvmLvCondEnd (const Pred &p) const
ConstMdPair mdPair (bool(*CheckMd)(const Md &)=NULL) const
ConstMdIterator mdBegin (bool(*CheckMd)(const Md &)=NULL) const
ConstMdIterator mdEnd (bool(*CheckMd)(const Md &)=NULL) const
template<class Pred >
MdCondIPair< Pred >::type mdCondPair (const Pred &p) const
template<class Pred >
ConstMdI< Pred >::type mdCondBegin (const Pred &p) const
template<class Pred >
ConstMdI< Pred >::type mdCondEnd (const Pred &p) const
ConstMdPartPair mdPartPair (bool(*CheckMdPart)(const MdPart &)=NULL) const
ConstMdPartIterator mdPartBegin (bool(*CheckMdPart)(const MdPart &)=NULL) const
ConstMdPartIterator mdPartEnd (bool(*CheckMdPart)(const MdPart &)=NULL) const
template<class Pred >
MdPartCondIPair< Pred >::type mdPartCondPair (const Pred &p) const
template<class Pred >
ConstMdPartI< Pred >::type mdPartCondBegin (const Pred &p) const
template<class Pred >
ConstMdPartI< Pred >::type mdPartCondEnd (const Pred &p) const
ConstLoopPair loopPair (bool(*CheckLoop)(const Loop &)=NULL) const
ConstLoopIterator loopBegin (bool(*CheckLoop)(const Loop &)=NULL) const
ConstLoopIterator loopEnd (bool(*CheckLoop)(const Loop &)=NULL) const
template<class Pred >
LoopCondIPair< Pred >::type loopCondPair (const Pred &p) const
template<class Pred >
ConstLoopI< Pred >::type loopCondBegin (const Pred &p) const
template<class Pred >
ConstLoopI< Pred >::type loopCondEnd (const Pred &p) const
ConstBtrfsPair btrfsPair (bool(*CheckBtrfs)(const Btrfs &)=NULL) const
ConstBtrfsIterator btrfsBegin (bool(*CheckBtrfs)(const Btrfs &)=NULL) const
ConstBtrfsIterator btrfsEnd (bool(*CheckBtrfs)(const Btrfs &)=NULL) const
template<class Pred >
BtrfsCondIPair< Pred >::type btrfsCondPair (const Pred &p) const
template<class Pred >
ConstBtrfsI< Pred >::type btrfsCondBegin (const Pred &p) const
template<class Pred >
ConstBtrfsI< Pred >::type btrfsCondEnd (const Pred &p) const
ConstTmpfsPair tmpfsPair (bool(*CheckTmpfs)(const Tmpfs &)=NULL) const
ConstTmpfsIterator tmpfsBegin (bool(*CheckTmpfs)(const Tmpfs &)=NULL) const
ConstTmpfsIterator tmpfsEnd (bool(*CheckTmpfs)(const Tmpfs &)=NULL) const
template<class Pred >
TmpfsCondIPair< Pred >::type tmpfsCondPair (const Pred &p) const
template<class Pred >
ConstTmpfsI< Pred >::type tmpfsCondBegin (const Pred &p) const
template<class Pred >
ConstTmpfsI< Pred >::type tmpfsCondEnd (const Pred &p) const
ConstNfsPair nfsPair (bool(*CheckNfs)(const Nfs &)=NULL) const
ConstNfsIterator nfsBegin (bool(*CheckNfs)(const Nfs &)=NULL) const
ConstNfsIterator nfsEnd (bool(*CheckNfs)(const Nfs &)=NULL) const
template<class Pred >
NfsCondIPair< Pred >::type nfsCondPair (const Pred &p) const
template<class Pred >
ConstNfsI< Pred >::type nfsCondBegin (const Pred &p) const
template<class Pred >
ConstNfsI< Pred >::type nfsCondEnd (const Pred &p) const
ConstDmPair dmPair (bool(*CheckDm)(const Dm &)=NULL) const
ConstDmIterator dmBegin (bool(*CheckDm)(const Dm &)=NULL) const
ConstDmIterator dmEnd (bool(*CheckDm)(const Dm &)=NULL) const
template<class Pred >
DmCondIPair< Pred >::type dmCondPair (const Pred &p) const
template<class Pred >
ConstDmI< Pred >::type dmCondBegin (const Pred &p) const
template<class Pred >
ConstDmI< Pred >::type dmCondEnd (const Pred &p) const
ConstDmraidPair dmrPair (bool(*CheckDmraidCo)(const DmraidCo &)) const
ConstDmraidPair dmrPair (bool(*CheckDmraid)(const Dmraid &)=NULL, bool(*CheckDmraidCo)(const DmraidCo &)=NULL) const
ConstDmraidIterator dmrBegin (bool(*CheckDmraidCo)(const DmraidCo &)) const
ConstDmraidIterator dmrBegin (bool(*CheckDmraid)(const Dmraid &)=NULL, bool(*CheckDmraidCo)(const DmraidCo &)=NULL) const
ConstDmraidIterator dmrEnd (bool(*CheckDmraidCo)(const DmraidCo &)) const
ConstDmraidIterator dmrEnd (bool(*CheckDmraid)(const Dmraid &)=NULL, bool(*CheckDmraidCo)(const DmraidCo &)=NULL) const
template<class Pred >
DmraidCondIPair< Pred >::type dmrCondPair (const Pred &p) const
template<class Pred >
ConstDmraidI< Pred >::type dmrCondBegin (const Pred &p) const
template<class Pred >
ConstDmraidI< Pred >::type dmrCondEnd (const Pred &p) const
ConstDmmultipathPair dmmPair (bool(*CheckDmmultipathCo)(const DmmultipathCo &)) const
ConstDmmultipathPair dmmPair (bool(*CheckDmmultipath)(const Dmmultipath &)=NULL, bool(*CheckDmmultipathCo)(const DmmultipathCo &)=NULL) const
ConstDmmultipathIterator dmmBegin (bool(*CheckDmmultipathCo)(const DmmultipathCo &)) const
ConstDmmultipathIterator dmmBegin (bool(*CheckDmmultipath)(const Dmmultipath &)=NULL, bool(*CheckDmmultipathCo)(const DmmultipathCo &)=NULL) const
ConstDmmultipathIterator dmmEnd (bool(*CheckDmmultipathCo)(const DmmultipathCo &)) const
ConstDmmultipathIterator dmmEnd (bool(*CheckDmmultipath)(const Dmmultipath &)=NULL, bool(*CheckDmmultipathCo)(const DmmultipathCo &)=NULL) const
template<class Pred >
DmmultipathCondIPair< Pred >::type dmmCondPair (const Pred &p) const
template<class Pred >
ConstDmmultipathI< Pred >::type dmmCondBegin (const Pred &p) const
template<class Pred >
ConstDmmultipathI< Pred >::type dmmCondEnd (const Pred &p) const

Static Public Member Functions

static bool isDmPart (const Container &d)
static bool isMdPart (const Container &d)
static bool isDmContainer (const Container &d)
static bool testFilesEqual (const string &n1, const string &n2)
static void waitForDevice ()
static int waitForDevice (const string &device)
static int zeroDevice (const string &device, bool random=false, unsigned long long beginK=200, unsigned long long endK=10)
static unsigned long long sizeK (const string &device)
static bool loadModuleIfNeeded (const string &module)
static void clean_tmpdir ()
static bool getDiskList (list< pair< string, Disk::SysfsInfo > > &dlist)

Protected Types

typedef std::list< Container * > CCont
typedef CCont::iterator CIter
typedef CCont::const_iterator CCIter
typedef CheckFnc< const ContainerCheckFncCont
typedef CheckerIterator
< CheckFncCont,
ConstContainerPI< CheckFncCont >
::type, CCIter, Container
ConstContPIterator
typedef CheckerIterator
< CheckFncCont, ContainerPI
< CheckFncCont >::type, CIter,
Container
ContPIterator
typedef DerefIterator
< ContPIterator, Container
ContIterator
typedef IterPair< ContIteratorCPair
typedef CastCheckIterator
< CCIter, storage::DISK, const
Disk * > 
ContainerCDiskIter
typedef CastCheckIterator
< CIter, storage::DISK, Disk * > 
ContainerDiskIter
typedef CheckFnc< const DiskCheckFncDisk
typedef CheckerIterator
< CheckFncDisk, ConstDiskPI
< CheckFncDisk >::type,
ContainerCDiskIter, Disk
ConstDiskPIterator
typedef CheckerIterator
< CheckFncDisk, DiskPI
< CheckFncDisk >::type,
ContainerDiskIter, Disk
DiskPIterator
typedef DerefIterator
< DiskPIterator, Disk
DiskIterator
typedef IterPair< DiskIteratorDiskPair
typedef CastCheckIterator
< CCIter, storage::LVM, const
LvmVg * > 
ContainerCLvmVgIter
typedef CastCheckIterator
< CIter, storage::LVM, LvmVg * > 
ContainerLvmVgIter
typedef CheckFnc< const LvmVgCheckFncLvmVg
typedef CheckerIterator
< CheckFncLvmVg, ConstLvmVgPI
< CheckFncLvmVg >::type,
ContainerCLvmVgIter, LvmVg
ConstLvmVgPIterator
typedef CheckerIterator
< CheckFncLvmVg, LvmVgPI
< CheckFncLvmVg >::type,
ContainerLvmVgIter, LvmVg
LvmVgPIterator
typedef DerefIterator
< LvmVgPIterator, LvmVg
LvmVgIterator
typedef IterPair< LvmVgIteratorLvmVgPair
typedef CastCheckFncIterator
< CCIter, isDmPart, const
DmPartCo * > 
ContainerCDmPartIter
typedef CastCheckFncIterator
< CIter, isDmPart, DmPartCo * > 
ContainerDmPartIter
typedef CheckFnc< const DmPartCoCheckFncDmPartCo
typedef CheckerIterator
< CheckFncDmPartCo,
ConstDmPartCoPI
< CheckFncDmPartCo >::type,
ContainerCDmPartIter, DmPartCo
ConstDmPartCoPIterator
typedef CheckerIterator
< CheckFncDmPartCo, DmPartCoPI
< CheckFncDmPartCo >::type,
ContainerDmPartIter, DmPartCo
DmPartCoPIterator
typedef DerefIterator
< DmPartCoPIterator, DmPartCo
DmPartCoIterator
typedef IterPair
< DmPartCoIterator
DmPartCoPair
typedef CastCheckIterator
< CCIter, storage::DMRAID,
const DmraidCo * > 
ContainerCDmraidIter
typedef CastCheckIterator
< CIter, storage::DMRAID,
DmraidCo * > 
ContainerDmraidIter
typedef CheckFnc< const DmraidCoCheckFncDmraidCo
typedef CheckerIterator
< CheckFncDmraidCo,
ConstDmraidCoPI
< CheckFncDmraidCo >::type,
ContainerCDmraidIter, DmraidCo
ConstDmraidCoPIterator
typedef CheckerIterator
< CheckFncDmraidCo, DmraidCoPI
< CheckFncDmraidCo >::type,
ContainerDmraidIter, DmraidCo
DmraidCoPIterator
typedef DerefIterator
< DmraidCoPIterator, DmraidCo
DmraidCoIterator
typedef IterPair
< DmraidCoIterator
DmraidCoPair
typedef CastCheckIterator
< CCIter, storage::DMMULTIPATH,
const DmmultipathCo * > 
ContainerCDmmultipathIter
typedef CastCheckIterator
< CIter, storage::DMMULTIPATH,
DmmultipathCo * > 
ContainerDmmultipathIter
typedef CheckFnc< const
DmmultipathCo
CheckFncDmmultipathCo
typedef CheckerIterator
< CheckFncDmmultipathCo,
ConstDmmultipathCoPI
< CheckFncDmmultipathCo >
::type,
ContainerCDmmultipathIter,
DmmultipathCo
ConstDmmultipathCoPIterator
typedef CheckerIterator
< CheckFncDmmultipathCo,
DmmultipathCoPI
< CheckFncDmmultipathCo >
::type,
ContainerDmmultipathIter,
DmmultipathCo
DmmultipathCoPIterator
typedef DerefIterator
< DmmultipathCoPIterator,
DmmultipathCo
DmmultipathCoIterator
typedef IterPair
< DmmultipathCoIterator
DmmultipathCoPair
typedef CastCheckFncIterator
< CCIter, isMdPart, const
MdPartCo * > 
ContainerCMdPartIter
typedef CastCheckFncIterator
< CIter, isMdPart, MdPartCo * > 
ContainerMdPartIter
typedef CheckFnc< const MdPartCoCheckFncMdPartCo
typedef CheckerIterator
< CheckFncMdPartCo,
ConstMdPartCoPI
< CheckFncMdPartCo >::type,
ContainerCMdPartIter, MdPartCo
ConstMdPartCoPIterator
typedef CheckerIterator
< CheckFncMdPartCo, MdPartCoPI
< CheckFncMdPartCo >::type,
ContainerMdPartIter, MdPartCo
MdPartCoPIterator
typedef DerefIterator
< MdPartCoPIterator, MdPartCo
MdPartCoIterator
typedef IterPair
< MdPartCoIterator
MdPartCoPair
typedef ListListIterator
< Container::ConstPlainIterator,
ConstContIterator
ConstVolInter
typedef CheckFnc< const VolumeCheckFncVol
typedef CheckerIterator
< CheckFncVol, ConstVolumePI
< CheckFncVol >::type,
ConstVolInter, Volume
ConstVolPIterator
typedef ListListIterator
< Container::PlainIterator,
ContIterator
VolPart
typedef CheckerIterator
< CheckFncVol, VolumeI
< CheckFncVol >::type, VolPart,
Volume
VolPIterator
typedef DerefIterator
< VolPIterator, Volume
VolIterator
typedef IterPair< VolIteratorVPair
typedef ListListIterator
< Container::ConstPlainIterator,
ConstDiskIterator
ConstPartInter
typedef CastIterator
< ConstPartInter, Partition * > 
ConstPartInter2
typedef CheckFnc< const PartitionCheckFncPartition
typedef CheckerIterator
< CheckFncPartition,
ConstPartitionPI
< CheckFncPartition >::type,
ConstPartInter2, Partition
ConstPartPIterator
typedef ListListIterator
< Container::ConstPlainIterator,
ConstLvmVgIterator
ConstLvmLvInter
typedef CastIterator
< ConstLvmLvInter, LvmLv * > 
ConstLvmLvInter2
typedef CheckFnc< const LvmLvCheckFncLvmLv
typedef CheckerIterator
< CheckFncLvmLv, ConstLvmLvPI
< CheckFncLvmLv >::type,
ConstLvmLvInter2, LvmLv
ConstLvmLvPIterator
typedef CastIterator
< ConstVolInter, Md * > 
ConstMdInter
typedef CheckFnc< const MdCheckFncMd
typedef CheckerIterator
< CheckFncMd, ConstMdPI
< CheckFncMd >::type,
ConstMdInter, Md
ConstMdPIterator
typedef CastIterator
< ConstVolInter, MdPart * > 
ConstMdPartInter
typedef CheckFnc< const MdPartCheckFncMdPart
typedef CheckerIterator
< CheckFncMdPart,
ConstMdPartPI< CheckFncMdPart >
::type, ConstMdPartInter,
MdPart
ConstMdPartPIterator
typedef CastIterator
< ConstVolInter, Loop * > 
ConstLoopInter
typedef CheckFnc< const LoopCheckFncLoop
typedef CheckerIterator
< CheckFncLoop, ConstLoopPI
< CheckFncLoop >::type,
ConstLoopInter, Loop
ConstLoopPIterator
typedef CastIterator
< ConstVolInter, Btrfs * > 
ConstBtrfsInter
typedef CheckFnc< const BtrfsCheckFncBtrfs
typedef CheckerIterator
< CheckFncBtrfs, ConstBtrfsPI
< CheckFncBtrfs >::type,
ConstBtrfsInter, Btrfs
ConstBtrfsPIterator
typedef CastIterator
< ConstVolInter, Tmpfs * > 
ConstTmpfsInter
typedef CheckFnc< const TmpfsCheckFncTmpfs
typedef CheckerIterator
< CheckFncTmpfs, ConstTmpfsPI
< CheckFncTmpfs >::type,
ConstTmpfsInter, Tmpfs
ConstTmpfsPIterator
typedef CastIterator
< ConstVolInter, Nfs * > 
ConstNfsInter
typedef CheckFnc< const NfsCheckFncNfs
typedef CheckerIterator
< CheckFncNfs, ConstNfsPI
< CheckFncNfs >::type,
ConstNfsInter, Nfs
ConstNfsPIterator
typedef CastIterator
< ConstVolInter, Dm * > 
ConstDmInter
typedef CheckFnc< const DmCheckFncDm
typedef CheckerIterator
< CheckFncDm, ConstDmPI
< CheckFncDm >::type,
ConstDmInter, Dm
ConstDmPIterator
typedef ListListIterator
< Container::ConstPlainIterator,
ConstDmraidCoIterator
ConstDmraidInter
typedef CastIterator
< ConstDmraidInter, Dmraid * > 
ConstDmraidInter2
typedef CheckFnc< const DmraidCheckFncDmraid
typedef CheckerIterator
< CheckFncDmraid,
ConstDmraidPI< CheckFncDmraid >
::type, ConstDmraidInter2,
Dmraid
ConstDmraidPIterator
typedef ListListIterator
< Container::ConstPlainIterator,
ConstDmmultipathCoIterator
ConstDmmultipathInter
typedef CastIterator
< ConstDmmultipathInter,
Dmmultipath * > 
ConstDmmultipathInter2
typedef CheckFnc< const
Dmmultipath
CheckFncDmmultipath
typedef CheckerIterator
< CheckFncDmmultipath,
ConstDmmultipathPI
< CheckFncDmmultipath >::type,
ConstDmmultipathInter2,
Dmmultipath
ConstDmmultipathPIterator

Protected Member Functions

CPair cPair (bool(*CheckFnc)(const Container &)=NULL)
ContIterator cBegin (bool(*CheckFnc)(const Container &)=NULL)
ContIterator cEnd (bool(*CheckFnc)(const Container &)=NULL)
DiskPair dPair (bool(*CheckFnc)(const Disk &)=NULL)
DiskIterator dBegin (bool(*CheckFnc)(const Disk &)=NULL)
DiskIterator dEnd (bool(*CheckFnc)(const Disk &)=NULL)
LvmVgPair lvgPair (bool(*CheckFnc)(const LvmVg &)=NULL)
LvmVgIterator lvgBegin (bool(*CheckFnc)(const LvmVg &)=NULL)
LvmVgIterator lvgEnd (bool(*CheckFnc)(const LvmVg &)=NULL)
DmPartCoPair dmpCoPair (bool(*CheckFnc)(const DmPartCo &)=NULL)
DmPartCoIterator dmpCoBegin (bool(*CheckFnc)(const DmPartCo &)=NULL)
DmPartCoIterator dmpCoEnd (bool(*CheckFnc)(const DmPartCo &)=NULL)
DmraidCoPair dmrCoPair (bool(*CheckFnc)(const DmraidCo &)=NULL)
DmraidCoIterator dmrCoBegin (bool(*CheckFnc)(const DmraidCo &)=NULL)
DmraidCoIterator dmrCoEnd (bool(*CheckFnc)(const DmraidCo &)=NULL)
DmmultipathCoPair dmmCoPair (bool(*CheckFnc)(const DmmultipathCo &)=NULL)
DmmultipathCoIterator dmmCoBegin (bool(*CheckFnc)(const DmmultipathCo &)=NULL)
DmmultipathCoIterator dmmCoEnd (bool(*CheckFnc)(const DmmultipathCo &)=NULL)
MdPartCoPair mdpCoPair (bool(*CheckFnc)(const MdPartCo &)=NULL)
MdPartCoIterator mdpCoBegin (bool(*CheckFnc)(const MdPartCo &)=NULL)
MdPartCoIterator mdpCoEnd (bool(*CheckFnc)(const MdPartCo &)=NULL)
VPair vPair (bool(*CheckCnt)(const Container &))
VPair vPair (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL)
VolIterator vBegin (bool(*CheckCnt)(const Container &))
VolIterator vBegin (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL)
VolIterator vEnd (bool(*CheckCnt)(const Container &))
VolIterator vEnd (bool(*CheckVol)(const Volume &)=NULL, bool(*CheckCnt)(const Container &)=NULL)
void initialize ()
void logSystemInfo () const
void detectDisks (SystemInfo &systeminfo)
void autodetectDisks (SystemInfo &systeminfo)
void detectMds (SystemInfo &systeminfo)
void detectBtrfs (SystemInfo &systeminfo)
void detectMdParts (SystemInfo &systeminfo)
void decideMultipath ()
bool discoverMdPVols ()
void detectLoops (SystemInfo &systeminfo)
void detectNfs (const EtcFstab &fstab, SystemInfo &systeminfo)
void detectTmpfs (const EtcFstab &fstab, SystemInfo &systeminfo)
void detectLvmVgs (SystemInfo &systeminfo)
void detectDmraid (SystemInfo &systeminfo)
void detectDmmultipath (SystemInfo &systeminfo)
void detectDm (SystemInfo &systeminfo, bool only_crypt)
void initDisk (list< DiskData > &dl, SystemInfo &systeminfo)
void detectFsData (const VolIterator &begin, const VolIterator &end, SystemInfo &systeminfo)
int updatePartitionArea (const string &device, unsigned long start, unsigned long size, bool noBtrfs)
int resizeVolume (const string &device, unsigned long long newSizeK, bool ignore_fs)
int resizeVolume (const string &device, unsigned long long newSizeK, bool ignore_fs, bool noBtrfs)
int resizePartition (const string &device, unsigned long sizeCyl, bool ignore_fs)
int resizePartition (const string &device, unsigned long sizeCyl, bool ignoreFs, bool noBtrfs)
void addToList (Container *e)
DiskIterator findDisk (const string &disk)
DiskIterator findDiskId (const string &id)
DiskIterator findDiskPath (const string &path)
LvmVgIterator findLvmVg (const string &name)
DmraidCoIterator findDmraidCo (const string &name)
DmmultipathCoIterator findDmmultipathCo (const string &name)
DmPartCoIterator findDmPartCo (const string &name)
MdPartCoIterator findMdPartCo (const string &name)
bool findVolume (const string &device, ContIterator &c, VolIterator &v, bool no_btrfs=false)
bool findVolume (const string &device, ConstContIterator &c, ConstVolIterator &v, bool no_btrfs=false)
bool findVolume (const string &device, VolIterator &v, bool also_del=false, bool no_btrfs=false)
bool findVolume (const string &device, ConstVolIterator &v, bool also_del=false, bool no_btrfs=false)
bool findContainer (const string &device, ContIterator &c)
bool findContainer (const string &device, ConstContIterator &c)
DevicefindDevice (const string &dev, bool no_btrfs=false)
void checkPwdBuf (const string &device)
bool haveMd (MdCo *&md)
list< unsigned > getMdPartMdNums () const
bool haveDm (DmCo *&dm)
bool haveNfs (NfsCo *&co)
bool haveLoop (LoopCo *&loop)
bool haveBtrfs (BtrfsCo *&co)
bool haveTmpfs (TmpfsCo *&co)
int removeContainer (Container *val)
void logContainersAndVolumes (const string &Dir) const
int commitPair (CPair &p, bool(*fnc)(const Container &))
void sortCommitLists (storage::CommitStage stage, list< const Container * > &co, list< const Volume * > &vl, list< commitAction > &todo) const
bool ignoreError (int error, list< commitAction >::const_iterator ca) const
string backupStates () const
void detectObjects ()
void deleteBackups ()
void setCachedFreeInfo (const string &device, bool resize_cached, const ResizeInfo &resize_info, bool content_cached, const ContentInfo &content_info)
bool getCachedFreeInfo (const string &device, bool get_resize, ResizeInfo &resize_info, bool get_content, ContentInfo &content_info) const
void logFreeInfo (const string &Dir) const
void readFreeInfo (const string &file)
void logArchInfo (const string &Dir) const
void readArchInfo (const string &file)
list< commitActiongetCommitActions () const

Static Protected Member Functions

static bool isMd (const Container &d)
static bool isLoop (const Container &d)
static bool isNfs (const Container &d)
static bool isDm (const Container &d)
static bool isBtrfs (const Container &d)
static bool isNotBtrfs (const Container &d)
static bool isTmpfs (const Container &d)

Protected Attributes

const Environment env
Lock lock
bool cache
bool initialized
bool recursiveRemove
bool zeroNewPartitions
PartAlign partAlignment
MountByType defaultMountBy
FsType defaultFs
string defaultSubvolName
bool detectMounted
bool root_mounted
string tempdir
string rootprefix
unsigned hald_pid
ArchInfo archinfo
CCont cont
EtcFstabfstab
EtcMdadmmdadm
ImsmDriver imsm_driver
MultipathAutostart multipath_autostart
CallbackProgressBar progress_bar_cb
CallbackShowInstallInfo install_info_cb
CallbackInfoPopup info_popup_cb
CallbackYesNoPopup yesno_popup_cb
CallbackCommitErrorPopup commit_error_popup_cb
CallbackPasswordPopup password_popup_cb
map< string, list< UsedBy > > danglingUsedBy
unsigned max_log_num
Text lastAction
string extendedError
std::map< string, CContbackups
map< string, FreeInfofree_infos
std::map< string, string > pwdBuf
std::list< std::pair< string,
Text > > 
infoPopupTxts

Static Protected Attributes

static list< string > tmp_dirs

Friends

std::ostream & operator<< (std::ostream &s, const Storage &v)
std::ostream & operator<< (std::ostream &s, Storage &v)

Detailed Description

Main class to access libstorage functionality.

This is the main class with that one can get access to the functionality provided by libstorage. It contains a list of container objects.

All modifying member functions of the storage library will go through Storage class. This is the central place where things like readonly access, locking, testmode, inst-sys etc. are handled. It has the additional advantage the the complete class hierarchy below Storage could be changed without affecting the user interface of libstorage.


Member Typedef Documentation

typedef CCont::const_iterator storage::Storage::CCIter [protected]
typedef std::list<Container*> storage::Storage::CCont [protected]
typedef CheckFnc<const Btrfs> storage::Storage::CheckFncBtrfs [protected]
typedef CheckFnc<const Disk> storage::Storage::CheckFncDisk [protected]
typedef CheckFnc<const Dm> storage::Storage::CheckFncDm [protected]
typedef CheckFnc<const Dmraid> storage::Storage::CheckFncDmraid [protected]
typedef CheckFnc<const Loop> storage::Storage::CheckFncLoop [protected]
typedef CheckFnc<const LvmLv> storage::Storage::CheckFncLvmLv [protected]
typedef CheckFnc<const LvmVg> storage::Storage::CheckFncLvmVg [protected]
typedef CheckFnc<const Md> storage::Storage::CheckFncMd [protected]
typedef CheckFnc<const MdPart> storage::Storage::CheckFncMdPart [protected]
typedef CheckFnc<const Nfs> storage::Storage::CheckFncNfs [protected]
typedef CheckFnc<const Tmpfs> storage::Storage::CheckFncTmpfs [protected]
typedef CheckFnc<const Volume> storage::Storage::CheckFncVol [protected]
typedef CCont::iterator storage::Storage::CIter [protected]
typedef CastCheckIterator<CCIter, storage::DISK, const Disk *> storage::Storage::ContainerCDiskIter [protected]
typedef CastCheckIterator<CCIter, storage::DMMULTIPATH, const DmmultipathCo *> storage::Storage::ContainerCDmmultipathIter [protected]
typedef CastCheckIterator<CCIter, storage::DMRAID, const DmraidCo *> storage::Storage::ContainerCDmraidIter [protected]
typedef CastCheckIterator<CCIter, storage::LVM, const LvmVg *> storage::Storage::ContainerCLvmVgIter [protected]
typedef CastCheckIterator<CIter, storage::DISK, Disk *> storage::Storage::ContainerDiskIter [protected]
typedef CastCheckIterator<CIter, storage::DMRAID, DmraidCo *> storage::Storage::ContainerDmraidIter [protected]
typedef CastCheckIterator<CIter, storage::LVM, LvmVg *> storage::Storage::ContainerLvmVgIter [protected]

Constructor & Destructor Documentation

storage::Storage::Storage ( const Environment env)
storage::Storage::~Storage ( ) [virtual]

Member Function Documentation

int storage::Storage::activateEncryption ( const string &  device,
bool  on 
) [virtual]

Mount the given device and do what is necessary to access volume (e.g. do losetup if loop is set up)

The function mounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name
onif true activate access to encrypted data, otherwise deactivate it
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

void storage::Storage::activateHld ( bool  val = true) [virtual]

Activate or deactivate higher level devices as MD, LVM, DM

Multipath is not activate by this function. Only use in instsys mode.

Parameters:
valflag if devices should be activated or deactivated
Returns:
bool if values could be successfully determined

Implements storage::StorageInterface.

References storage::LvmVg::activate(), storage::Dm::activate(), storage::MdPartCo::activate(), storage::IMSM_MDADM, and y2mil.

void storage::Storage::activateMultipath ( bool  val = true) [virtual]

Activate or deactivate multipath

Only use in instsys mode.

Parameters:
valflag if multipath should be activated or deactivated
Returns:
bool if values could be successfully determined

Implements storage::StorageInterface.

References storage::DmmultipathCo::activate(), and y2mil.

int storage::Storage::addFstabEntry ( const string &  device,
const string &  mount,
const string &  vfs,
const string &  options,
unsigned  freq,
unsigned  passno 
) [virtual]

Adds the specified entry to /etc/fstab

This function does not cache the changes but writes them immediately.

Parameters:
devicename of volume, e.g. /dev/hda1
mountmount point, e.g. /home
vfsvirtual filesystem type, e.g. reiserfs or ext3
optionsfstab options e.g. noauto,user,sync
freqvalue for fifth fstab field
passnovalue for sixth fstab field
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::createPath(), storage::FstabChange::dentry, storage::FstabChange::device, storage::FstabChange::freq, storage::FstabChange::fs, storage::FstabChange::mount, storage::FstabChange::opts, storage::FstabChange::passno, storage::splitString(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_INVALID_FSTAB_VALUE, storage::STORAGE_NO_FSTAB_PTR, and y2mil.

int storage::Storage::addFstabOptions ( const string &  device,
const string &  options 
) [virtual]

Add to the fstab options of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
optionsfstab options to add to already exiting options of the volume (e.g. noauto,user,sync). Multiple options are separated by ",".
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::splitString(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

void storage::Storage::addInfoPopupText ( const string &  disk,
const Text txt 
)

References storage::Text::native, and y2mil.

int storage::Storage::addNfsDevice ( const string &  nfsDev,
const string &  opts,
unsigned long long  sizeK,
const string &  mp,
bool  nfs4 
) [virtual]

Add knowledge about existence of nfs device.

Parameters:
nfsDevname of nfs device
sizeKsize of the nfs device
optsmount options for nfs mount
mpmount point of the nfs device
nfs4use NFS4 for device
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::NfsCo::addNfs(), storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::addTmpfsMount ( const string &  mp,
const string &  opts 
) [virtual]

Add new tmpfs filesystem

Parameters:
mpmount point for the tmpfs
optsmount options for tmpfs mount
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::TmpfsCo::addTmpfs(), storage::STORAGE_CHANGE_READONLY, and y2mil.

void storage::Storage::addToList ( Container e) [protected]
void storage::Storage::addUsedBy ( const list< string > &  devs,
UsedByType  type,
const string &  device 
)
void storage::Storage::addUsedBy ( const string &  dev,
UsedByType  type,
const string &  device 
)
void storage::Storage::assertInit ( ) [inline]
bool storage::Storage::autodetect ( ) const [inline]

References cache.

void storage::Storage::autodetectDisks ( SystemInfo systeminfo) [protected]
string storage::Storage::backupStates ( ) const [protected]
string storage::Storage::bootMount ( ) const
ConstBtrfsIterator storage::Storage::btrfsBegin ( bool(*)(const Btrfs &)  CheckBtrfs = NULL) const [inline]
template<class Pred >
ConstBtrfsI<Pred>::type storage::Storage::btrfsCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstBtrfsI<Pred>::type storage::Storage::btrfsCondEnd ( const Pred &  p) const [inline]
template<class Pred >
BtrfsCondIPair<Pred>::type storage::Storage::btrfsCondPair ( const Pred &  p) const [inline]

References contPair(), and isBtrfs().

ConstBtrfsIterator storage::Storage::btrfsEnd ( bool(*)(const Btrfs &)  CheckBtrfs = NULL) const [inline]
ConstBtrfsPair storage::Storage::btrfsPair ( bool(*)(const Btrfs &)  CheckBtrfs = NULL) const [inline]

References contPair(), and isBtrfs().

bool storage::Storage::canRemove ( const Volume vol) const
bool storage::Storage::canUseDevice ( const string &  dev,
bool  disks_allowed = false 
)

References y2mil.

Referenced by storage::LvmVg::extendVg().

ContIterator storage::Storage::cBegin ( bool(*)(const Container &)  CheckFnc = NULL) [inline, protected]

References cont.

Referenced by contCondEnd().

ContIterator storage::Storage::cEnd ( bool(*)(const Container &)  CheckFnc = NULL) [inline, protected]

Referenced by contCondEnd().

int storage::Storage::changeDescText ( const string &  device,
const string &  txt 
) [virtual]

Sets the value of description text. This text will be returned together with the text returned by getCommitInfos().

Parameters:
devicename of volume, e.g. /dev/hda1
txtdescription text for this partition
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

void storage::Storage::changeDeviceName ( const string &  old,
const string &  nw 
)
int storage::Storage::changeFormatVolume ( const string &  device,
bool  format,
storage::FsType  fs 
) [virtual]

Sets or unsets the format flag for the given volume.

Parameters:
devicename of volume, e.g. /dev/hda1
formatflag if format is set on or off
fstype of filesystem to create if format is true
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::BtrfsCo::addFromVolume(), storage::BTRFS, storage::BTRFSC, storage::BtrfsCo::eraseVolume(), storage::MOUNTBY_UUID, storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MEMORY_EXHAUSTED, storage::STORAGE_VOLUME_NOT_FOUND, storage::toString(), storage::UB_BTRFS, y2mil, and y2war.

Referenced by storage::LvmVg::extendVg().

int storage::Storage::changeFstabOptions ( const string &  device,
const string &  options 
) [virtual]

Changes the fstab options of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
optionsnew fstab options of the volume (e.g. noauto,user,sync). Multiple options are separated by ",". It is valid to set an empty fstab option.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::changeLabelVolume ( const string &  device,
const string &  label 
) [virtual]

Sets the value of the filesystem label.

Parameters:
devicename of volume, e.g. /dev/hda1
labelvalue of the label
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::changeLvChunkSize ( const string &  vg,
const string &  name,
unsigned long long  chunkSizeK 
) [virtual]

Change chunk size of a LVM pool or snapshot. This can only be before the volume is created on disk.

Parameters:
vgname of volume group
nameof thin pool or snapshot
chunkSizeKnew chunk size
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::changeLvStripeCount ( const string &  vg,
const string &  name,
unsigned long  stripes 
) [virtual]

Change stripe count of a LVM logical volume. This can only be before the volume is created on disk.

Parameters:
vgname of volume group
nameof logical volume
stripesnew stripe count of logical volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::changeLvStripeSize ( const string &  vg,
const string &  name,
unsigned long long  stripeSizeK 
) [virtual]

Change stripe size of a LVM logical volume. This can only be before the volume is created on disk.

Parameters:
vgname of volume group
nameof logical volume
stripeSizeKnew stripe size of logical volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::changeMdChunk ( const string &  name,
unsigned long  chunkSizeK 
) [virtual]

Change chunk size of a raid device. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
chunkSizeKnew chunk size of the software raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::changeMdChunk(), storage::Md::mdStringNum(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, and y2mil.

int storage::Storage::changeMdParity ( const string &  name,
storage::MdParity  ptype 
) [virtual]

Change parity of a raid device with raid type raid5, raid6 or raid10. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
ptypenew parity of the software raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::changeMdParity(), storage::Md::mdStringNum(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, storage::toString(), and y2mil.

int storage::Storage::changeMdType ( const string &  name,
storage::MdType  md_type 
) [virtual]

Change raid type of a raid device. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
md_typenew raid personality of the software raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::changeMdType(), storage::Md::mdStringNum(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, storage::toString(), and y2mil.

int storage::Storage::changeMkfsOptVolume ( const string &  device,
const string &  opts 
) [virtual]

Sets the value of mkfs options.

Parameters:
devicename of volume, e.g. /dev/hda1
optsoptions for mkfs command
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::changeMountBy ( const string &  device,
storage::MountByType  mby 
) [virtual]

Changes mount by value in fstab of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
mbynew mount by value of the volume.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, storage::toString(), and y2mil.

int storage::Storage::changeMountPoint ( const string &  device,
const string &  mount 
) [virtual]

Changes the mount point of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
mountnew mount point of the volume (e.g. /home). it is valid to set an empty mount point
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::changePartitionId ( const string &  partition,
unsigned  id 
) [virtual]

Change partition id of a partition

Parameters:
partitionname of partition, e.g. /dev/hda1
idnew partition id (e.g. 0x82 swap, 0x8e for lvm, ...)
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdPartCo::changePartitionId(), storage::DmPartCo::changePartitionId(), storage::Disk::changePartitionId(), storage::DISK, storage::DMMULTIPATH, storage::DMRAID, storage::MDPART, storage::STORAGE_CHANGE_PARTITION_ID_INVALID_CONTAINER, storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::changeTunefsOptVolume ( const string &  device,
const string &  opts 
) [virtual]

Sets the value of tunefs options.

Parameters:
devicename of volume, e.g. /dev/hda1
optsoptions for tunefs command
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

bool storage::Storage::checkBackupState ( const string &  name) const [virtual]

Checks if a backup with a certain name already exists

Parameters:
namename of the backup to check
Returns:
true if the backup exists

Implements storage::StorageInterface.

References y2mil.

int storage::Storage::checkCache ( )
bool storage::Storage::checkDeviceMounted ( const string &  device,
list< string > &  mps 
) [virtual]

Determine if the given device is known and mounted somewhere

Parameters:
devicedevice name to check (checks also all alias names)
mpsset to current mount points if mounted
Returns:
bool that is true if device is mounted

Implements storage::StorageInterface.

References storage::ProcMounts::getAllMounts(), and y2mil.

bool storage::Storage::checkDmMapsTo ( const string &  device) [virtual]

Check if there are dm maps to a given device

Parameters:
devicedevice name for which dm maps should be checked
Returns:
bool true if there are map to device

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::Dm::mapsTo(), and y2mil.

int storage::Storage::checkMd ( const string &  name) [virtual]

Check if a raid device is valid

Parameters:
namename of software raid device (e.g. /dev/md0)
Returns:
true if all is ok, a false to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::checkMd(), storage::Md::mdStringNum(), storage::STORAGE_MD_NOT_FOUND, and y2mil.

bool storage::Storage::checkMdNumber ( unsigned  num)
int storage::Storage::checkNfsDevice ( const string &  nfsDev,
const string &  opts,
bool  nfs4,
unsigned long long &  sizeK 
) [virtual]

Check accessibility and size of nfs device.

Parameters:
nfsDevname of nfs device
optsmount options for nfs mount
nfs4use NFS4 for device
sizeKsize of the nfs device
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::NfsCo::addNfs(), storage::checkNormalFile(), storage::SystemCmd::execute(), storage::getStatVfs(), storage::StatVfs::sizeK, storage::Container::vBegin(), and y2mil.

void storage::Storage::checkPwdBuf ( const string &  device) [protected]

References y2mil.

void storage::Storage::clean_tmpdir ( ) [static]
void storage::Storage::clearUsedBy ( const string &  dev)
void storage::Storage::clearUsedBy ( const list< string > &  devs)
int storage::Storage::commit ( ) [virtual]
bool storage::Storage::commitErrorPopupCb ( int  error,
const Text last_action,
const string &  extended_message 
) const
int storage::Storage::commitPair ( CPair p,
bool(*)(const Container &)  fnc 
) [protected]
int storage::Storage::computeMdSize ( MdType  md_type,
const list< string > &  devices,
const list< string > &  spares,
unsigned long long &  sizeK 
) [virtual]

Compute the size of a raid device.

The size compute may not be accurate. It must not be used for further computations. Do not used in new code.

Parameters:
md_typeraid type of the software raid
deviceslist with physical devices for the software raid
spareslist with spare physical devices for the software raid
sizeKwill contain the computed size in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MD_TOO_FEW_DEVICES, storage::MULTIPATH, storage::RAID0, storage::RAID1, storage::RAID10, storage::RAID5, storage::RAID6, storage::Device::sizeK(), storage::STORAGE_VOLUME_NOT_FOUND, storage::toString(), and y2mil.

Referenced by storage::Md::computeSize().

ConstContIterator storage::Storage::contBegin ( bool(*)(const Container &)  CheckFnc = NULL) const [inline]

References cont.

template<class Pred >
ConstContainerI<Pred>::type storage::Storage::contCondBegin ( const Pred &  p) const [inline]

References cont.

Referenced by contEnd().

template<class Pred >
ConstContainerI<Pred>::type storage::Storage::contCondEnd ( const Pred &  p) const [inline]

References cBegin(), and cEnd().

Referenced by contEnd().

template<class Pred >
ContCondIPair<Pred>::type storage::Storage::contCondPair ( const Pred &  p) const [inline]

References cont.

ConstContIterator storage::Storage::contEnd ( bool(*)(const Container &)  CheckFnc = NULL) const [inline]

References contCondBegin(), and contCondEnd().

ConstContPair storage::Storage::contPair ( bool(*)(const Container &)  CheckFnc = NULL) const [inline]
CPair storage::Storage::cPair ( bool(*)(const Container &)  CheckFnc = NULL) [inline, protected]

References cont.

Referenced by vBegin(), and vEnd().

int storage::Storage::createBackupState ( const string &  name) [virtual]

Create backup of current state of all containers

Parameters:
namename under which the backup should be created
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_INVALID_BACKUP_STATE_NAME, and y2mil.

int storage::Storage::createFileLoop ( const string &  lname,
bool  reuseExisting,
unsigned long long  sizeK,
const string &  mp,
const string &  pwd,
string &  device 
) [virtual]

Create a file based loop device. Encryption is automatically activated on the loop device.

Parameters:
lnamename of file the loop device is based on
reuseExistingif true an already existing file will be reused. if false the file will be created new. if false the format flag for the device is set by default.
sizeKsize of the created file, this parameter is ignored if reuseExisting is true and a file already exists.
mpmount point of the file based loop device
pwdcrypt password for the loop device, encryption type is determined automatically by the system
devicethe name of the created loop device
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::Volume::changeMount(), storage::LoopCo::createLoop(), storage::EXT3, storage::Container::findVolume(), storage::Volume::setCryptPwd(), storage::Volume::setEncryption(), storage::Volume::setFormat(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_CREATED_LOOP_NOT_FOUND, storage::STORAGE_MEMORY_EXHAUSTED, and y2mil.

int storage::Storage::createLvmLv ( const string &  vg,
const string &  name,
unsigned long long  sizeK,
unsigned  stripes,
string &  device 
) [virtual]

Create a LVM logical volume

Parameters:
vgname of volume group
nameof logical volume
sizeKsize of logical volume in kilobytes
stripesstripe count of logical volume (use 1 unless you know exactly what you are doing)
deviceis set to the device name of the new LV
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::createLvmLvPool ( const string &  vg,
const string &  name,
unsigned long long  sizeK,
string &  device 
) [virtual]

Create a LVM thin pool

Parameters:
vgname of volume group
nameof thin pool
sizeKsize of thin pool in kilobytes
deviceis set to the device name of the new pool
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::createLvmLvSnapshot ( const string &  vg,
const string &  origin,
const string &  name,
unsigned long long  cowSizeK,
string &  device 
) [virtual]

Create a LVM logical volume snapshot

Parameters:
vgname of volume group
originname of logical volume origin
nameof logical volume snapshot
cowSizeKsize of snapshot in kilobytes
deviceis set to the device name of the new snapshot
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::createLvmLvThin ( const string &  vg,
const string &  name,
const string &  pool,
unsigned long long  sizeK,
string &  device 
) [virtual]

Create a LVM logical volume that is thin provisioned

Parameters:
vgname of volume group
nameof logical volume
poolname of the pool this logical volume allocates from
sizeKvirtual size of logical volume in kilobytes
deviceis set to the device name of the logical volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::createLvmVg ( const string &  name,
unsigned long long  peSizeK,
bool  lvm1,
const deque< string > &  devs 
) [virtual]

Create a LVM volume group

Parameters:
namename of volume group, must not contain blanks, colons and shell special characters (e.g. system)
peSizeKphysical extent size in kilobytes
lvm1flag if lvm1 compatible format should be used
devslist with physical devices to add to that volume group
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::LvmVg::extendVg(), storage::LvmVg::setPeSize(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_EXISTS, storage::STORAGE_VG_INVALID_NAME, and y2mil.

int storage::Storage::createMd ( const string &  name,
MdType  md_type,
const list< string > &  devices,
const list< string > &  spares 
) [virtual]

Create a Software raid device by name

Parameters:
namename of software raid device to create (e.g. /dev/md0)
md_typeraid personality of the new software raid
deviceslist with physical devices for the new software raid
spareslist with spare physical devices for the new software raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::createMd(), storage::MD_DUPLICATE_NUMBER, storage::Md::mdDevice(), storage::Md::mdStringNum(), storage::normalizeDevices(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::toString(), and y2mil.

int storage::Storage::createMdAny ( MdType  md_type,
const list< string > &  devices,
const list< string > &  spares,
string &  device 
) [virtual]

Create a Software raid device. Name determined by library.

Parameters:
md_typeraid personality of the new software raid
deviceslist with physical devices for the new software raid
spareslist with spare physical devices for the new software raid
devicedevice name of created software raid device
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::createMd(), storage::Md::mdDevice(), storage::normalizeDevices(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MEMORY_EXHAUSTED, storage::toString(), and y2mil.

int storage::Storage::createPartition ( const string &  disk,
storage::PartitionType  type,
unsigned long  startCyl,
unsigned long  sizeCyl,
string &  device 
) [virtual]

Create a new partition. Units given in disk cylinders.

Parameters:
diskdevice name of disk, e.g. /dev/hda
typetype of partition to create, e.g. primary or extended
startCylcylinder number of partition start (cylinders are numbered starting with 0)
sizeCylsize of partition in disk cylinders
deviceis set to the device name of the new partition The name is returned instead of the number since creating the name from the number is not straight-forward.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, storage::STORAGE_DISK_USED_BY, storage::toString(), and y2mil.

int storage::Storage::createPartitionAny ( const string &  disk,
unsigned long long  sizeK,
string &  device 
) [virtual]

Create a new partition of any type anywhere on the disk. Units given in Kilobytes.

Parameters:
diskdevice name of disk, e.g. /dev/hda
sizeKsize of partition in kilobytes
deviceis set to the device name of the new partition The name is returned instead of the number since creating the name from the number is not straight-forward.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, storage::STORAGE_DISK_USED_BY, and y2mil.

int storage::Storage::createPartitionKb ( const string &  disk,
storage::PartitionType  type,
unsigned long long  startK,
unsigned long long  sizeK,
string &  device 
) [virtual]

Create a new partition. Units given in Kilobytes.

Parameters:
diskdevice name of disk, e.g. /dev/hda
typetype of partition to create, e.g. primary or extended
startKoffset in kilobytes from start of disk
sizeKsize of partition in kilobytes
deviceis set to the device name of the new partition The name is returned instead of the number since creating the name from the number is not straight-forward.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, storage::STORAGE_DISK_USED_BY, storage::toString(), and y2mil.

int storage::Storage::createPartitionMax ( const string &  disk,
storage::PartitionType  type,
string &  device 
) [virtual]

Create a new partition of given type as large as possible.

Parameters:
diskdevice name of disk, e.g. /dev/hda
typetype of partition to create, e.g. primary or extended
deviceis set to the device name of the new partition The name is returned instead of the number since creating the name from the number is not straight-forward.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, storage::STORAGE_DISK_USED_BY, storage::toString(), and y2mil.

int storage::Storage::createSubvolume ( const string &  device,
const string &  name 
) [virtual]

Create a BTRFS subvolume

Parameters:
deviceof the main BTRFS volume
nameof subvolume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::BtrfsCo::createSubvolume(), storage::STORAGE_BTRFS_CO_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

unsigned long long storage::Storage::cylinderToKb ( const string &  disk,
unsigned long  sizeCyl 
) [virtual]

Compute number of kilobytes of a given number of disk cylinders

Parameters:
diskdevice name of disk, e.g. /dev/hda
sizeCylnumber of disk cylinders
Returns:
number of kilobytes of given cylinders

Implements storage::StorageInterface.

References y2mil.

DiskIterator storage::Storage::dBegin ( bool(*)(const Disk &)  CheckFnc = NULL) [inline, protected]
void storage::Storage::decideMultipath ( ) [protected]
string storage::Storage::defaultDiskLabel ( const string &  device) [virtual]

Query the default disk label of the architecture of the machine (e.g. msdos for ix86, gpt for ia64, ...) for a disk

Parameters:
devicedevice of disk
Returns:
default disk label of the disk

Implements storage::StorageInterface.

void storage::Storage::deleteBackups ( ) [protected]
bool storage::Storage::deletedDevice ( const string &  dev) const
DiskIterator storage::Storage::dEnd ( bool(*)(const Disk &)  CheckFnc = NULL) [inline, protected]
int storage::Storage::destroyPartitionTable ( const string &  disk,
const string &  label 
) [virtual]

Destroys the partition table of a disk. An empty disk label of the given type without any partition is created.

Parameters:
diskdevice name of disk, e.g. /dev/hda
labeldisk label to create on disk, e.g. msdos, gpt, ...
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, and y2mil.

void storage::Storage::detectBtrfs ( SystemInfo systeminfo) [protected]
void storage::Storage::detectDisks ( SystemInfo systeminfo) [protected]
void storage::Storage::detectDm ( SystemInfo systeminfo,
bool  only_crypt 
) [protected]
void storage::Storage::detectDmmultipath ( SystemInfo systeminfo) [protected]
void storage::Storage::detectDmraid ( SystemInfo systeminfo) [protected]
void storage::Storage::detectFsData ( const VolIterator begin,
const VolIterator end,
SystemInfo systeminfo 
) [protected]
void storage::Storage::detectLoops ( SystemInfo systeminfo) [protected]
void storage::Storage::detectLvmVgs ( SystemInfo systeminfo) [protected]
void storage::Storage::detectMdParts ( SystemInfo systeminfo) [protected]
void storage::Storage::detectMds ( SystemInfo systeminfo) [protected]
void storage::Storage::detectNfs ( const EtcFstab fstab,
SystemInfo systeminfo 
) [protected]
void storage::Storage::detectObjects ( ) [protected]
void storage::Storage::detectTmpfs ( const EtcFstab fstab,
SystemInfo systeminfo 
) [protected]
const Device * storage::Storage::deviceByNumber ( unsigned long  maj,
unsigned long  min 
) const
unsigned long long storage::Storage::deviceSize ( const string &  dev)

References y2mil.

Referenced by storage::LvmVg::extendVg().

bool storage::Storage::discoverMdPVols ( ) [protected]
ConstDiskIterator storage::Storage::diskBegin ( bool(*)(const Disk &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstDiskI<Pred>::type storage::Storage::diskCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDiskI<Pred>::type storage::Storage::diskCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DiskCondIPair<Pred>::type storage::Storage::diskCondPair ( const Pred &  p) const [inline]

References cont.

ConstDiskIterator storage::Storage::diskEnd ( bool(*)(const Disk &)  CheckFnc = NULL) const [inline]
ConstDiskPair storage::Storage::diskPair ( bool(*)(const Disk &)  CheckFnc = NULL) const [inline]

References cont.

Referenced by partBegin(), partCondPair(), and partEnd().

ConstDmIterator storage::Storage::dmBegin ( bool(*)(const Dm &)  CheckDm = NULL) const [inline]
template<class Pred >
ConstDmI<Pred>::type storage::Storage::dmCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmI<Pred>::type storage::Storage::dmCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmCondIPair<Pred>::type storage::Storage::dmCondPair ( const Pred &  p) const [inline]

References contPair(), and isDm().

ConstDmIterator storage::Storage::dmEnd ( bool(*)(const Dm &)  CheckDm = NULL) const [inline]
ConstDmmultipathIterator storage::Storage::dmmBegin ( bool(*)(const DmmultipathCo &)  CheckDmmultipathCo) const [inline]

References dmmultipathCoPair().

Referenced by dmmPair().

ConstDmmultipathIterator storage::Storage::dmmBegin ( bool(*)(const Dmmultipath &)  CheckDmmultipath = NULL,
bool(*)(const DmmultipathCo &)  CheckDmmultipathCo = NULL 
) const [inline]
DmmultipathCoIterator storage::Storage::dmmCoBegin ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) [inline, protected]
DmmultipathCoIterator storage::Storage::dmmCoEnd ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) [inline, protected]
template<class Pred >
ConstDmmultipathI<Pred>::type storage::Storage::dmmCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmmultipathI<Pred>::type storage::Storage::dmmCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmmultipathCondIPair<Pred>::type storage::Storage::dmmCondPair ( const Pred &  p) const [inline]

References dmmultipathCoPair().

DmmultipathCoPair storage::Storage::dmmCoPair ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) [inline, protected]

References cont.

ConstDmmultipathIterator storage::Storage::dmmEnd ( bool(*)(const DmmultipathCo &)  CheckDmmultipathCo) const [inline]

References dmmultipathCoPair().

Referenced by dmmPair().

ConstDmmultipathIterator storage::Storage::dmmEnd ( bool(*)(const Dmmultipath &)  CheckDmmultipath = NULL,
bool(*)(const DmmultipathCo &)  CheckDmmultipathCo = NULL 
) const [inline]
ConstDmmultipathPair storage::Storage::dmmPair ( bool(*)(const Dmmultipath &)  CheckDmmultipath = NULL,
bool(*)(const DmmultipathCo &)  CheckDmmultipathCo = NULL 
) const [inline]
ConstDmmultipathPair storage::Storage::dmmPair ( bool(*)(const DmmultipathCo &)  CheckDmmultipathCo) const [inline]

References dmmBegin(), and dmmEnd().

ConstDmmultipathCoIterator storage::Storage::dmmultipathCoBegin ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstDmmultipathCoI<Pred>::type storage::Storage::dmmultipathCoCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmmultipathCoI<Pred>::type storage::Storage::dmmultipathCoCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmmultipathCoCondIPair<Pred>::type storage::Storage::dmmultipathCoCondPair ( const Pred &  p) const [inline]

References cont.

ConstDmmultipathCoIterator storage::Storage::dmmultipathCoEnd ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) const [inline]
ConstDmmultipathCoPair storage::Storage::dmmultipathCoPair ( bool(*)(const DmmultipathCo &)  CheckFnc = NULL) const [inline]

References cont.

Referenced by dmmBegin(), dmmCondPair(), and dmmEnd().

ConstDmPair storage::Storage::dmPair ( bool(*)(const Dm &)  CheckDm = NULL) const [inline]

References contPair(), and isDm().

ConstDmPartCoIterator storage::Storage::dmpartCoBegin ( bool(*)(const DmPartCo &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstDmPartCoI<Pred>::type storage::Storage::dmpartCoCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmPartCoI<Pred>::type storage::Storage::dmpartCoCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmPartCoCondIPair<Pred>::type storage::Storage::dmPartCoCondPair ( const Pred &  p) const [inline]

References cont.

ConstDmPartCoIterator storage::Storage::dmpartCoEnd ( bool(*)(const DmPartCo &)  CheckFnc = NULL) const [inline]
ConstDmPartCoPair storage::Storage::dmpartCoPair ( bool(*)(const DmPartCo &)  CheckFnc = NULL) const [inline]

References cont.

DmPartCoIterator storage::Storage::dmpCoBegin ( bool(*)(const DmPartCo &)  CheckFnc = NULL) [inline, protected]
DmPartCoIterator storage::Storage::dmpCoEnd ( bool(*)(const DmPartCo &)  CheckFnc = NULL) [inline, protected]
DmPartCoPair storage::Storage::dmpCoPair ( bool(*)(const DmPartCo &)  CheckFnc = NULL) [inline, protected]

References cont.

ConstDmraidCoIterator storage::Storage::dmraidCoBegin ( bool(*)(const DmraidCo &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstDmraidCoI<Pred>::type storage::Storage::dmraidCoCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmraidCoI<Pred>::type storage::Storage::dmraidCoCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmraidCoCondIPair<Pred>::type storage::Storage::dmraidCoCondPair ( const Pred &  p) const [inline]

References cont.

ConstDmraidCoIterator storage::Storage::dmraidCoEnd ( bool(*)(const DmraidCo &)  CheckFnc = NULL) const [inline]
ConstDmraidCoPair storage::Storage::dmraidCoPair ( bool(*)(const DmraidCo &)  CheckFnc = NULL) const [inline]

References cont.

Referenced by dmrBegin(), dmrCondPair(), and dmrEnd().

ConstDmraidIterator storage::Storage::dmrBegin ( bool(*)(const DmraidCo &)  CheckDmraidCo) const [inline]

References dmraidCoPair().

Referenced by dmrPair().

ConstDmraidIterator storage::Storage::dmrBegin ( bool(*)(const Dmraid &)  CheckDmraid = NULL,
bool(*)(const DmraidCo &)  CheckDmraidCo = NULL 
) const [inline]
DmraidCoIterator storage::Storage::dmrCoBegin ( bool(*)(const DmraidCo &)  CheckFnc = NULL) [inline, protected]
DmraidCoIterator storage::Storage::dmrCoEnd ( bool(*)(const DmraidCo &)  CheckFnc = NULL) [inline, protected]
template<class Pred >
ConstDmraidI<Pred>::type storage::Storage::dmrCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstDmraidI<Pred>::type storage::Storage::dmrCondEnd ( const Pred &  p) const [inline]
template<class Pred >
DmraidCondIPair<Pred>::type storage::Storage::dmrCondPair ( const Pred &  p) const [inline]

References dmraidCoPair().

DmraidCoPair storage::Storage::dmrCoPair ( bool(*)(const DmraidCo &)  CheckFnc = NULL) [inline, protected]

References cont.

ConstDmraidIterator storage::Storage::dmrEnd ( bool(*)(const DmraidCo &)  CheckDmraidCo) const [inline]

References dmraidCoPair().

Referenced by dmrPair().

ConstDmraidIterator storage::Storage::dmrEnd ( bool(*)(const Dmraid &)  CheckDmraid = NULL,
bool(*)(const DmraidCo &)  CheckDmraidCo = NULL 
) const [inline]
ConstDmraidPair storage::Storage::dmrPair ( bool(*)(const DmraidCo &)  CheckDmraidCo) const [inline]

References dmrBegin(), and dmrEnd().

ConstDmraidPair storage::Storage::dmrPair ( bool(*)(const Dmraid &)  CheckDmraid = NULL,
bool(*)(const DmraidCo &)  CheckDmraidCo = NULL 
) const [inline]
DiskPair storage::Storage::dPair ( bool(*)(const Disk &)  CheckFnc = NULL) [inline, protected]

References cont.

void storage::Storage::dumpCommitInfos ( ) const [virtual]

Dump list of commit actions to log file.

Implements storage::StorageInterface.

References y2mil.

void storage::Storage::dumpObjectList ( ) [virtual]

Dump list of all objects to log file.

Implements storage::StorageInterface.

References storage::prepareLogStream(), and y2mil.

bool storage::Storage::equalBackupStates ( const string &  lhs,
const string &  rhs,
bool  verbose_log 
) const [virtual]

Compare two backup states

Parameters:
lhsname of backup to compare, empty string means active state
rhsname of backup to compare, empty string means active state
verbose_logflag if differences should be logged in detail
Returns:
true if states are equal

Implements storage::StorageInterface.

References storage::find_if(), and y2mil.

void storage::Storage::eraseCachedFreeInfo ( const string &  device)
int storage::Storage::eraseLabelVolume ( const string &  device)
bool storage::Storage::existSubvolume ( const string &  device,
const string &  name 
) [virtual]

Check for existence of a BTRFS subvolume

Parameters:
deviceof the main BTRFS volume
nameof subvolume
Returns:
true if subvolume exists, false otherwise

Implements storage::StorageInterface.

References storage::BtrfsCo::existSubvolume(), and y2mil.

int storage::Storage::extendBtrfsVolume ( const string &  name,
const deque< string > &  devs 
) [virtual]

Extend a BTRFS volume with additional devices

Parameters:
namename of BTRFS volume (this can contain a device name or be specified as "UUID=<uuid>")
devslist with devices to add to that BTRFS volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::BTRFS_LIST_EMPTY, storage::BtrfsCo::extendVolume(), storage::STORAGE_BTRFS_CO_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::extendBtrfsVolume ( const string &  device,
const string &  dev 
)
int storage::Storage::extendLvmVg ( const string &  name,
const deque< string > &  devs 
) [virtual]

Extend a LVM volume group with additional physical devices

Parameters:
namename of volume group
devslist with physical devices to add to that volume group
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::extendMd ( const string &  name,
const list< string > &  devices,
const list< string > &  spares 
) [virtual]

Add a partition to a raid device. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
deviceslist with physical devices to add to the raid
spareslist with spare physical devices to add to the raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::extendMd(), storage::Md::mdStringNum(), storage::normalizeDevices(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, and y2mil.

void storage::Storage::fetchDanglingUsedBy ( const string &  dev,
list< UsedBy > &  uby 
)

References y2mil.

bool storage::Storage::findContainer ( const string &  device,
ContIterator c 
) [protected]
bool storage::Storage::findContainer ( const string &  device,
ConstContIterator c 
) [protected]
bool storage::Storage::findDevice ( const string &  dev,
const Device *&  vol,
bool  search_by_minor = false 
)
Device * storage::Storage::findDevice ( const string &  dev,
bool  no_btrfs = false 
) [protected]
Storage::DiskIterator storage::Storage::findDisk ( const string &  disk) [protected]
Storage::DiskIterator storage::Storage::findDiskId ( const string &  id) [protected]
Storage::DiskIterator storage::Storage::findDiskPath ( const string &  path) [protected]
bool storage::Storage::findDm ( const string &  device,
const Dm *&  dm 
)
Storage::DmmultipathCoIterator storage::Storage::findDmmultipathCo ( const string &  name) [protected]
Storage::DmPartCoIterator storage::Storage::findDmPartCo ( const string &  name) [protected]
Storage::DmraidCoIterator storage::Storage::findDmraidCo ( const string &  name) [protected]
bool storage::Storage::findDmUsing ( const string &  device,
const Dm *&  dm 
)
Storage::LvmVgIterator storage::Storage::findLvmVg ( const string &  name) [protected]
Storage::MdPartCoIterator storage::Storage::findMdPartCo ( const string &  name) [protected]
string storage::Storage::findNormalDevice ( const string &  device)

References y2mil.

bool storage::Storage::findUuid ( const string &  uuid,
Volume const *&  vol 
)

References y2mil.

Referenced by storage::Volume::resizeFs().

bool storage::Storage::findVolume ( const string &  device,
VolIterator v,
bool  also_del = false,
bool  no_btrfs = false 
) [protected]
bool storage::Storage::findVolume ( const string &  device,
ContIterator c,
VolIterator v,
bool  no_btrfs = false 
) [protected]
bool storage::Storage::findVolume ( const string &  device,
ConstContIterator c,
ConstVolIterator v,
bool  no_btrfs = false 
) [protected]
bool storage::Storage::findVolume ( const string &  device,
Volume const *&  vol,
bool  no_btrfsc = false 
)
bool storage::Storage::findVolume ( const string &  device,
ConstVolIterator v,
bool  also_del = false,
bool  no_btrfs = false 
) [protected]
int storage::Storage::forgetChangePartitionId ( const string &  partition) [virtual]
int storage::Storage::forgetCryptPassword ( const string &  device) [virtual]

Makes library forget a crypt password of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::forgetResizeVolume ( const string &  device) [virtual]

Forget about possible resize of an volume.

Parameters:
devicedevice name of volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::freeCylindersAroundPartition ( const string &  device,
unsigned long &  freeCylsBefore,
unsigned long &  freeCylsAfter 
) [virtual]

Return the number of free cylinders before and after a partition.

Parameters:
devicedevice name of partition, e.g. /dev/sda1
freeCylsBeforeis set to the number of free cylinders before the partition
freeCylsAfteris set to the number of free cylinders after the partition
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::DISK, storage::DMMULTIPATH, storage::DMRAID, storage::MdPartCo::freeCylindersAroundPartition(), storage::DmPartCo::freeCylindersAroundPartition(), storage::Disk::freeCylindersAroundPartition(), storage::MDPART, storage::STORAGE_RESIZE_INVALID_CONTAINER, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

list< string > storage::Storage::getAllUsedFs ( ) const [virtual]
const ArchInfo& storage::Storage::getArchInfo ( ) const [inline]
int storage::Storage::getBtrfsInfo ( deque< storage::BtrfsInfo > &  plist) [virtual]

Query infos for btrfs devices in system

Parameters:
plistlist of records that get filled with btrfs specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Btrfs::notDeleted().

bool storage::Storage::getCachedFreeInfo ( const string &  device,
bool  get_resize,
ResizeInfo resize_info,
bool  get_content,
ContentInfo content_info 
) const [protected]

References y2mil.

CallbackCommitErrorPopup storage::Storage::getCallbackCommitErrorPopup ( ) const [inline, virtual]

Query the callback function called for errors during commit.

Returns:
pointer to function currently called for progress bar events

Implements storage::StorageInterface.

CallbackCommitErrorPopup storage::Storage::getCallbackCommitErrorPopupTheOne ( ) const [inline]
CallbackInfoPopup storage::Storage::getCallbackInfoPopup ( ) const [inline, virtual]

Query the callback function called to display info popup to the user

Returns:
pointer to function currently called for progress bar events

Implements storage::StorageInterface.

References password_popup_cb.

CallbackInfoPopup storage::Storage::getCallbackInfoPopupTheOne ( ) const [inline]
CallbackPasswordPopup storage::Storage::getCallbackPasswordPopup ( ) const [inline, virtual]

Query the callback function called to query a password from the user.

Returns:
pointer to function currently called for password queries.

Implements storage::StorageInterface.

References progress_bar_cb, and storage::progress_bar_cb_ycp.

CallbackPasswordPopup storage::Storage::getCallbackPasswordPopupTheOne ( ) const [inline]
CallbackProgressBar storage::Storage::getCallbackProgressBar ( ) const [inline, virtual]

Query the callback function called on progress bar events

Returns:
pointer to function currently called for progress bar events

Implements storage::StorageInterface.

References yesno_popup_cb.

CallbackProgressBar storage::Storage::getCallbackProgressBarTheOne ( ) const [inline]
CallbackShowInstallInfo storage::Storage::getCallbackShowInstallInfo ( ) const [inline, virtual]

Query the callback function called to display install info

Returns:
pointer to function currently called for progress bar events

Implements storage::StorageInterface.

References commit_error_popup_cb.

CallbackShowInstallInfo storage::Storage::getCallbackShowInstallInfoTheOne ( ) const [inline]
CallbackYesNoPopup storage::Storage::getCallbackYesNoPopup ( ) const [inline, virtual]

Query the callback function called to get a Yes/No decision by the user.

Returns:
pointer to function currently called for progress bar events

Implements storage::StorageInterface.

CallbackYesNoPopup storage::Storage::getCallbackYesNoPopupTheOne ( ) const [inline]
list< commitAction > storage::Storage::getCommitActions ( ) const [protected]
void storage::Storage::getCommitInfos ( list< CommitInfo > &  infos) const [virtual]

Gets info about actions to be executed after next call to commit().

Parameters:
infoslist of records that gets filled with infos

Implements storage::StorageInterface.

References storage::CommitInfo::destructive, storage::Volume::getDescText(), storage::CommitInfo::text, and y2mil.

void storage::Storage::getContainers ( deque< storage::ContainerInfo > &  infos) [virtual]
int storage::Storage::getContDiskInfo ( const string &  disk,
storage::ContainerInfo cinfo,
storage::DiskInfo info 
) [virtual]

Query disk info for a disk device

Parameters:
diskdevice name of disk, e.g. /dev/hda
cinforecord that gets filled with container general data
inforecord that gets filled with disk special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DISK_NOT_FOUND.

int storage::Storage::getContDmmultipathCoInfo ( const string &  name,
storage::ContainerInfo cinfo,
storage::DmmultipathCoInfo info 
) [virtual]

Query container info for a DMMULTIPATH container

Parameters:
namename of container, e.g. 3600508b400105f590000900000300000
cinforecord that gets filled with container general data
inforecord that gets filled with DMMULTIPATH Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DMMULTIPATH_CO_NOT_FOUND.

int storage::Storage::getContDmraidCoInfo ( const string &  name,
storage::ContainerInfo cinfo,
storage::DmraidCoInfo info 
) [virtual]

Query container info for a DMRAID container

Parameters:
namename of container, e.g. pdc_ccaihgii
cinforecord that gets filled with container general data
inforecord that gets filled with DMRAID Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DMRAID_CO_NOT_FOUND.

int storage::Storage::getContLvmVgInfo ( const string &  name,
storage::ContainerInfo cinfo,
storage::LvmVgInfo info 
) [virtual]

Query info for a LVM volume group

Parameters:
namename of volume group, e.g. system
cinforecord that gets filled with container general data
inforecord that gets filled with LVM VG special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_LVM_VG_NOT_FOUND.

int storage::Storage::getContMdPartCoInfo ( const string &  name,
ContainerInfo cinfo,
MdPartCoInfo info 
) [virtual]

Query container info for a MDPART container

Parameters:
namename of container, e.g. md126
cinforecord that gets filled with container general data
inforecord that gets filled with MDPART Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_MDPART_CO_NOT_FOUND.

int storage::Storage::getContVolInfo ( const string &  dev,
ContVolInfo info 
) [virtual]

Split volume device name up into container name and a volume name. For Containers where this is appropriate (e.g. disks, MD, loop) also a volume number is provided.

Parameters:
devdevice name of volume, e.g. /dev/hda1
inforecord that get filled with split data
Returns:
zero if all is ok, negative number to indicate an error

Implements storage::StorageInterface.

References storage::BTRFSC, storage::ContVolInfo::cdevice, storage::ContVolInfo::cname, storage::ContVolInfo::ctype, storage::CUNKNOWN, storage::Device::device(), storage::Btrfs::getDevices(), storage::ContVolInfo::num, storage::STORAGE_VOLUME_NOT_FOUND, storage::ContVolInfo::vdevice, storage::ContVolInfo::vname, and y2mil.

int storage::Storage::getCrypt ( const string &  device,
bool &  val 
) [virtual]

Get encryption state of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
valwill be set if encryption is activated
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::getCryptPassword ( const string &  device,
string &  pwd 
) [virtual]

Get crypt password of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
pwdcrypt password for this volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

FsType storage::Storage::getDefaultFs ( ) const [inline, virtual]

Get default filesystem.

Returns:
default filesystem.

Implements storage::StorageInterface.

MountByType storage::Storage::getDefaultMountBy ( ) const [inline, virtual]

Get default value for mount by.

Returns:
default value for mount by

Implements storage::StorageInterface.

Referenced by storage::Volume::defaultMountBy().

string storage::Storage::getDefaultSubvolName ( ) const [inline, virtual]

Get default filesystem.

Returns:
default filesystem.

Implements storage::StorageInterface.

Referenced by storage::Volume::doFormatBtrfs().

bool storage::Storage::getDetectMountedVolumes ( ) const [inline, virtual]

Get value of the flag for detection of mounted volumes.

Returns:
value of the flag for detection of mounted volumes

Implements storage::StorageInterface.

int storage::Storage::getDiskInfo ( const string &  disk,
storage::DiskInfo info 
) [virtual]

Query disk info for a disk device

Parameters:
diskdevice name of disk, e.g. /dev/hda
inforecord that get filled with disk special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DISK_NOT_FOUND.

void storage::Storage::getDiskList ( bool(*)(const Disk &)  CheckFnc,
std::list< Disk * > &  dl 
)
bool storage::Storage::getDiskList ( list< pair< string, Disk::SysfsInfo > > &  dlist) [static]
bool storage::Storage::getDlabelCapabilities ( const string &  dlabel,
storage::DlabelCapabilities dlabelcapabilities 
) const [virtual]

Query capabilities of a disk label.

Implements storage::StorageInterface.

References storage::Disk::getDlabelCapabilities().

int storage::Storage::getDmInfo ( deque< storage::DmInfo > &  plist) [virtual]

Query infos for dm devices in system

Parameters:
plistlist of records that get filled with dm specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Dm::notDeleted().

int storage::Storage::getDmmultipathCoInfo ( const string &  name,
storage::DmmultipathCoInfo info 
) [virtual]

Query container info for a DMMULTIPATH container

Parameters:
namename of container, e.g. 3600508b400105f590000900000300000
inforecord that gets filled with DMMULTIPATH Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DMMULTIPATH_CO_NOT_FOUND.

int storage::Storage::getDmmultipathInfo ( const string &  name,
deque< storage::DmmultipathInfo > &  plist 
) [virtual]

Query infos for dmmultipath devices in system

Parameters:
plistlist of records that get filled with dmmultipath specific info
namename of dmmultipath, e.g. 3600508b400105f590000900000300000
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::Dmmultipath::notDeleted(), and storage::STORAGE_DMMULTIPATH_CO_NOT_FOUND.

int storage::Storage::getDmraidCoInfo ( const string &  name,
storage::DmraidCoInfo info 
) [virtual]

Query container info for a DMRAID container

Parameters:
namename of container, e.g. pdc_ccaihgii
inforecord that gets filled with DMRAID Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DMRAID_CO_NOT_FOUND.

int storage::Storage::getDmraidInfo ( const string &  name,
deque< storage::DmraidInfo > &  plist 
) [virtual]

Query infos for dmraid devices in system

Parameters:
plistlist of records that get filled with dmraid specific info
namename of dmraid, e.g. pdc_igeeeadj
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::Dmraid::notDeleted(), and storage::STORAGE_DMRAID_CO_NOT_FOUND.

bool storage::Storage::getEfiBoot ( ) [virtual]

Get value for EFI boot.

Returns:
value for efi boot

Implements storage::StorageInterface.

string storage::Storage::getErrorString ( int  error) const [virtual]

Get a textual message for an error code. Can be empty.

Implements storage::StorageInterface.

References storage::_(), storage::Text::text, and storage::VOLUME_UMOUNT_FAILED.

const string& storage::Storage::getExtendedErrorMessage ( ) const [inline, virtual]

Gets a possible existing extended error message describing failure of to last call commit()

Returns:
string error text provided by external program

Implements storage::StorageInterface.

bool storage::Storage::getFreeInfo ( const string &  device,
bool  get_resize,
ResizeInfo resize_info,
bool  get_content,
ContentInfo content_info,
bool  use_cache 
) [virtual]

Detect potentially available free space on a partition

Parameters:
devicedevice to check
get_resizeflag to indicate that resize_info should be queried
resize_infostruct that gets filled with resize info
get_contentflag to indicate that content_info should be queried
content_infostruct that gets filled with content info
use_cachefunction should return cached data if available
Returns:
bool if values could be successfully determined

Implements storage::StorageInterface.

References storage::FreeInfo::detectContentInfo(), storage::FreeInfo::detectResizeInfo(), storage::FSNONE, storage::FSUNKNOWN, storage::NTFS, storage::SWAP, and y2mil.

bool storage::Storage::getFsCapabilities ( storage::FsType  fstype,
storage::FsCapabilities fscapabilities 
) const [virtual]
EtcFstab* storage::Storage::getFstab ( ) [inline]
int storage::Storage::getFstabOptions ( const string &  device,
string &  options 
) [virtual]

Get the fstab options of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
optionswill be set to the fstab options of the volume (e.g. noauto,user,sync). Multiple options are separated by ",".
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::getIgnoreFstab ( const string &  device,
bool &  val 
) [virtual]

Get fstab handling state of a volume.

Parameters:
devicename of volume, e.g. /dev/hda1
valwill be set if fstab should be ignored for this volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

ImsmDriver storage::Storage::getImsmDriver ( ) const [inline, virtual]

Query which driver is used for IMSM Software RAIDs.

Returns:
driver used for IMSM Software RAIDs.

Implements storage::StorageInterface.

const string& storage::Storage::getLastAction ( ) const [inline, virtual]

Gets action performed last during previous call to commit()

Returns:
string presentable to the user

Implements storage::StorageInterface.

int storage::Storage::getLoopInfo ( deque< storage::LoopInfo > &  plist) [virtual]

Query infos for file based loop devices in system

Parameters:
plistlist of records that get filled with loop specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Loop::notDeleted().

int storage::Storage::getLvmLvInfo ( const string &  name,
deque< storage::LvmLvInfo > &  plist 
) [virtual]

Query infos for LVM LVs of a LVM VG

Parameters:
namename of volume group, e.g. system
plistlist of records that get filled with LV specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::LvmLv::notDeleted(), and storage::STORAGE_LVM_VG_NOT_FOUND.

int storage::Storage::getLvmLvSnapshotStateInfo ( const string &  vg,
const string &  name,
LvmLvSnapshotStateInfo info 
) [virtual]

Get state of a LVM logical volume snapshot

Precondition:
This can only be done after the snapshot has been created on disk.
Parameters:
vgname of volume group
namename of logical volume snapshot
inforecord that gets filled with snapshot special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::getLvmVgInfo ( const string &  name,
storage::LvmVgInfo info 
) [virtual]

Query info for a LVM volume group

Parameters:
namename of volume group, e.g. system
inforecord that gets filled with LVM VG special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_LVM_VG_NOT_FOUND.

EtcMdadm* storage::Storage::getMdadm ( ) [inline]
list< int > storage::Storage::getMdAllowedParity ( MdType  md_type,
unsigned  devnr 
) [virtual]
int storage::Storage::getMdInfo ( deque< storage::MdInfo > &  plist) [virtual]

Query infos for software raid devices in system

Parameters:
plistlist of records that get filled with MD specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Md::notDeleted().

int storage::Storage::getMdPartCoInfo ( const string &  name,
MdPartCoInfo info 
) [virtual]

Query container info for a MDPART container

Parameters:
namename of container, e.g. md126
inforecord that gets filled with MDPART Container special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_MDPART_CO_NOT_FOUND.

int storage::Storage::getMdPartCoStateInfo ( const string &  name,
MdPartCoStateInfo info 
) [virtual]

Get state of a MD software raid device.

Precondition:
This can only be done after the raid has been created on disk.
Parameters:
namename of software raid device (e.g. /dev/md125)
inforecord that gets filled with raid special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_MDPART_CO_NOT_FOUND.

int storage::Storage::getMdPartInfo ( const string &  device,
deque< storage::MdPartInfo > &  plist 
) [virtual]

Query infos for partitions on raid device in system

Parameters:
devicedevice name of the parent MdPartCo, e.g. /dev/md125
plistlist of records that get filled with MdPart specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::MdPart::notDeleted(), and storage::STORAGE_MDPART_CO_NOT_FOUND.

list< unsigned > storage::Storage::getMdPartMdNums ( ) const [protected]
int storage::Storage::getMdStateInfo ( const string &  name,
MdStateInfo info 
) [virtual]

Get state of a raid device.

Precondition:
This can only be done after the raid has been created on disk.
Parameters:
namename of software raid device (e.g. /dev/md0)
inforecord that gets filled with raid special data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MdCo::getMdState(), storage::Md::mdStringNum(), storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, and y2mil.

int storage::Storage::getMountBy ( const string &  device,
storage::MountByType mby 
) [virtual]

Get mount by value in fstab of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
mbywill be set to the mount by value of the volume.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::Disk::getDiskPartition(), storage::MOUNTBY_DEVICE, storage::MOUNTBY_ID, storage::MOUNTBY_PATH, storage::STORAGE_VOLUME_NOT_FOUND, storage::toString(), and y2mil.

int storage::Storage::getMountPoint ( const string &  device,
string &  mount 
) [virtual]

Get the mount point of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
mountwill be set to the mount point of the volume (e.g. /home).
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

MultipathAutostart storage::Storage::getMultipathAutostart ( ) const [inline, virtual]

Query whether multipath should be started automatically if detected.

Returns:
value for automatically start of multipath.

Implements storage::StorageInterface.

int storage::Storage::getNfsInfo ( deque< storage::NfsInfo > &  plist) [virtual]

Query infos for nfs devices in system

Parameters:
plistlist of records that get filled with nfs info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Nfs::notDeleted().

PartAlign storage::Storage::getPartitionAlignment ( ) const [inline, virtual]

Get value for the alignment of newly created partitions

Returns:
value for the alignment

Implements storage::StorageInterface.

int storage::Storage::getPartitionInfo ( const string &  disk,
deque< storage::PartitionInfo > &  plist 
) [virtual]

Query infos for partitions of a disk

Parameters:
diskdevice name of disk, e.g. /dev/hda
plistlist of records that get filled with partition specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), storage::Partition::notDeleted(), and storage::STORAGE_DISK_NOT_FOUND.

string storage::Storage::getPartitionName ( const string &  disk,
int  partition_no 
) [virtual]

Construct the device name for a partiton from the disk name and partiton number.

Parameters:
diskname of disk, e.g. /dev/sda
partition_nonumber of partition, e.g. 1
Returns:
device name of partition, e.g. /dev/sda1

Implements storage::StorageInterface.

References storage::decString(), and storage::Disk::partNaming().

string storage::Storage::getPartitionPrefix ( const string &  disk) [virtual]

Return the prefix that is inserted between the disk name and the partition number.

Parameters:
diskname of disk, e.g. /dev/sda
Returns:
prefix for partitions, e.g. "", "p" or "_part"

Implements storage::StorageInterface.

References storage::Disk::partNaming().

bool storage::Storage::getRecursiveRemoval ( ) const [inline, virtual]

Get value of the flag for recursive removal

Returns:
value of the flag for recursive removal

Implements storage::StorageInterface.

Referenced by storage::MdPartCo::destroyPartitionTable(), storage::DmPartCo::destroyPartitionTable(), and storage::LvmVg::removeLv().

int storage::Storage::getRecursiveUsedBy ( const list< string > &  devices,
bool  itself,
list< string > &  usedby_devices 
) [virtual]

Recursively get all devices used by devices. Containers of volumes are also considered as used by the devices.

Parameters:
deviceslist of name of devices, e.g. /dev/sda1
itselfwhether the device itself is included in the result
usedby_devicesname of devices used by devices, e.g. /dev/sda
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References y2mil.

int storage::Storage::getRecursiveUsedByHelper ( const string &  device,
bool  itself,
list< string > &  usedby_devices 
)
int storage::Storage::getRecursiveUsing ( const string &  device,
list< string > &  devices 
) [virtual]

Recursively get all devices using device. Volumes of containers are also considered as using the devices.

Parameters:
devicename of device, e.g. /dev/sda
devicesname of devices using device, e.g. /dev/sda1 /dev/sda2
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References y2mil.

int storage::Storage::getRecursiveUsingHelper ( const string &  device,
list< string > &  devices 
)
string storage::Storage::getRootPrefix ( ) const [inline, virtual]

Get value for root prefix.

Returns:
value for root prefix

Implements storage::StorageInterface.

References umountDev().

int storage::Storage::getTmpfsInfo ( deque< storage::TmpfsInfo > &  plist) [virtual]

Query infos for tmpfs devices in system

Parameters:
plistlist of records that get filled with tmpfs specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Tmpfs::notDeleted().

int storage::Storage::getUnusedPartitionSlots ( const string &  disk,
list< PartitionSlotInfo > &  slots 
) [virtual]

Query unused slots on a disk suitable for creating partitions.

Parameters:
diskname of disk, e.g. /dev/hda1
slotslist of records that get filled with partition slot specific info
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::PartitionSlotInfo::cylSize, storage::PartitionSlotInfo::cylStart, storage::PartitionSlotInfo::extendedPossible, storage::PartitionSlotInfo::extendedSlot, storage::PartitionSlotInfo::logicalPossible, storage::PartitionSlotInfo::logicalSlot, storage::PartitionSlotInfo::primaryPossible, storage::PartitionSlotInfo::primarySlot, storage::STORAGE_DISK_NOT_FOUND, and y2mil.

int storage::Storage::getVolume ( const string &  device,
storage::VolumeInfo info 
) [virtual]

Query a volume by device name found in system

Parameters:
devicedevice name , e.g. /dev/hda1
inforecord that gets filled with data
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_VOLUME_NOT_FOUND.

const Volume * storage::Storage::getVolume ( const string &  dev)

References storage::Device::device(), and y2mil.

void storage::Storage::getVolumes ( deque< storage::VolumeInfo > &  infos) [virtual]

Query all volumes found in system

Parameters:
infoslist of records that get filled with volume info

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::IterPair< Iter >::end(), and storage::Volume::notDeleted().

bool storage::Storage::getZeroNewPartitions ( ) const [inline, virtual]

Get value of the flag for zeroing newly created partitions

Returns:
value of the flag for zeroing newly created partitions

Implements storage::StorageInterface.

Referenced by storage::Partition::zeroIfNeeded().

void storage::Storage::handleHald ( bool  stop)
void storage::Storage::handleLogFile ( const string &  name) const
bool storage::Storage::hasIScsiDisks ( ) const
bool storage::Storage::haveBtrfs ( BtrfsCo *&  co) [protected]
bool storage::Storage::haveDm ( DmCo *&  dm) [protected]
bool storage::Storage::haveLoop ( LoopCo *&  loop) [protected]
bool storage::Storage::haveMd ( MdCo *&  md) [protected]
bool storage::Storage::haveNfs ( NfsCo *&  co) [protected]
bool storage::Storage::haveTmpfs ( TmpfsCo *&  co) [protected]
bool storage::Storage::ignoreError ( int  error,
list< commitAction >::const_iterator  ca 
) const [protected]

References y2mil.

void storage::Storage::infoPopupCb ( const Text info) const
void storage::Storage::initDisk ( list< DiskData > &  dl,
SystemInfo systeminfo 
) [protected]
void storage::Storage::initialize ( ) [protected]
int storage::Storage::initializeDisk ( const string &  disk,
bool  value 
) [virtual]

Do a what is needed for low level initialisation of a Disk. This function does nothing on normal disks but is needed e.g. on S390 DASD devices where it executes a dasdfmt. If should be considered as destroying all data on the disk.

Parameters:
diskdevice name of disk, e.g. /dev/hda
valuetoggle if disk should be initialized or not
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::DISK_INIT_NOT_POSSIBLE, storage::STORAGE_CHANGE_READONLY, storage::STORAGE_DISK_NOT_FOUND, and y2mil.

bool storage::Storage::instsys ( ) const [inline]
static bool storage::Storage::isBtrfs ( const Container d) [inline, static, protected]
bool storage::Storage::isCacheChanges ( ) const [inline, virtual]

Query the caching mode.

Implements storage::StorageInterface.

References rootprefix.

bool storage::Storage::isDisk ( const string &  dev)
static bool storage::Storage::isDm ( const Container d) [inline, static, protected]

References storage::BTRFSC, and storage::Container::type().

Referenced by dmCondPair(), and dmPair().

static bool storage::Storage::isDmContainer ( const Container d) [inline, static]
static bool storage::Storage::isDmPart ( const Container d) [inline, static]
static bool storage::Storage::isLoop ( const Container d) [inline, static, protected]

References storage::DM, and storage::Container::type().

Referenced by loopCondPair(), and loopPair().

static bool storage::Storage::isMd ( const Container d) [inline, static, protected]

References storage::NFSC, and storage::Container::type().

Referenced by mdCondPair(), and mdPair().

static bool storage::Storage::isMdPart ( const Container d) [inline, static]

Referenced by mdPartCondPair(), and mdPartPair().

static bool storage::Storage::isNfs ( const Container d) [inline, static, protected]

References storage::BTRFSC, and storage::Container::type().

Referenced by nfsCondPair(), and nfsPair().

static bool storage::Storage::isNotBtrfs ( const Container d) [inline, static, protected]
bool storage::Storage::isRootMounted ( ) const [inline]
static bool storage::Storage::isTmpfs ( const Container d) [inline, static, protected]
bool storage::Storage::isUsedBy ( const string &  dev)
bool storage::Storage::isUsedBy ( const string &  dev,
UsedByType  type 
)
bool storage::Storage::isUsedBySingleBtrfs ( const Volume vol) const
bool storage::Storage::isUsedBySingleBtrfs ( const Volume vol,
const Volume **  btrfs 
) const
unsigned long storage::Storage::kbToCylinder ( const string &  disk,
unsigned long long  sizeK 
) [virtual]

Compute number of disk cylinders needed for given space

Parameters:
diskdevice name of disk, e.g. /dev/hda
sizeKnumber of kilobytes
Returns:
number of disk cylinders needed

Implements storage::StorageInterface.

References y2mil.

bool storage::Storage::knownDevice ( const string &  dev,
bool  disks_allowed = false 
)

References y2mil.

Referenced by storage::LvmVg::extendVg().

bool storage::Storage::loadModuleIfNeeded ( const string &  module) [static]
void storage::Storage::logArchInfo ( const string &  Dir) const [protected]
void storage::Storage::logCo ( const Container c) const
void storage::Storage::logContainersAndVolumes ( const string &  Dir) const [protected]

References storage::checkDir().

string storage::Storage::logdir ( ) const [inline]

References initialize(), and initialized.

void storage::Storage::logFreeInfo ( const string &  Dir) const [protected]
void storage::Storage::logProcData ( const string &  str = "") const
void storage::Storage::logSystemInfo ( ) const [protected]
ConstLoopIterator storage::Storage::loopBegin ( bool(*)(const Loop &)  CheckLoop = NULL) const [inline]
template<class Pred >
ConstLoopI<Pred>::type storage::Storage::loopCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstLoopI<Pred>::type storage::Storage::loopCondEnd ( const Pred &  p) const [inline]
template<class Pred >
LoopCondIPair<Pred>::type storage::Storage::loopCondPair ( const Pred &  p) const [inline]

References contPair(), and isLoop().

ConstLoopIterator storage::Storage::loopEnd ( bool(*)(const Loop &)  CheckLoop = NULL) const [inline]
ConstLoopPair storage::Storage::loopPair ( bool(*)(const Loop &)  CheckLoop = NULL) const [inline]

References contPair(), and isLoop().

LvmVgIterator storage::Storage::lvgBegin ( bool(*)(const LvmVg &)  CheckFnc = NULL) [inline, protected]
LvmVgIterator storage::Storage::lvgEnd ( bool(*)(const LvmVg &)  CheckFnc = NULL) [inline, protected]
LvmVgPair storage::Storage::lvgPair ( bool(*)(const LvmVg &)  CheckFnc = NULL) [inline, protected]

References cont.

ConstLvmLvIterator storage::Storage::lvmLvBegin ( bool(*)(const LvmLv &)  CheckLvmLv = NULL,
bool(*)(const LvmVg &)  CheckLvmVg = NULL 
) const [inline]
ConstLvmLvIterator storage::Storage::lvmLvBegin ( bool(*)(const LvmVg &)  CheckLvmVg) const [inline]

References lvmVgPair().

Referenced by lvmLvPair().

template<class Pred >
ConstLvmLvI<Pred>::type storage::Storage::lvmLvCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstLvmLvI<Pred>::type storage::Storage::lvmLvCondEnd ( const Pred &  p) const [inline]
template<class Pred >
LvmLvCondIPair<Pred>::type storage::Storage::lvmLvCondPair ( const Pred &  p) const [inline]

References lvmVgPair().

ConstLvmLvIterator storage::Storage::lvmLvEnd ( bool(*)(const LvmLv &)  CheckLvmLv = NULL,
bool(*)(const LvmVg &)  CheckLvmVg = NULL 
) const [inline]
ConstLvmLvIterator storage::Storage::lvmLvEnd ( bool(*)(const LvmVg &)  CheckLvmVg) const [inline]

References lvmVgPair().

Referenced by lvmLvPair().

ConstLvmLvPair storage::Storage::lvmLvPair ( bool(*)(const LvmLv &)  CheckLvmLv = NULL,
bool(*)(const LvmVg &)  CheckLvmVg = NULL 
) const [inline]
ConstLvmLvPair storage::Storage::lvmLvPair ( bool(*)(const LvmVg &)  CheckLvmVg) const [inline]

References lvmLvBegin(), and lvmLvEnd().

ConstLvmVgIterator storage::Storage::lvmVgBegin ( bool(*)(const LvmVg &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstLvmVgI<Pred>::type storage::Storage::lvmVgCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstLvmVgI<Pred>::type storage::Storage::lvmVgCondEnd ( const Pred &  p) const [inline]
template<class Pred >
LvmVgCondIPair<Pred>::type storage::Storage::lvmVgCondPair ( const Pred &  p) const [inline]

References cont.

ConstLvmVgIterator storage::Storage::lvmVgEnd ( bool(*)(const LvmVg &)  CheckFnc = NULL) const [inline]
ConstLvmVgPair storage::Storage::lvmVgPair ( bool(*)(const LvmVg &)  CheckFnc = NULL) const [inline]

References cont.

Referenced by lvmLvBegin(), lvmLvCondPair(), and lvmLvEnd().

ConstMdIterator storage::Storage::mdBegin ( bool(*)(const Md &)  CheckMd = NULL) const [inline]
template<class Pred >
ConstMdI<Pred>::type storage::Storage::mdCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstMdI<Pred>::type storage::Storage::mdCondEnd ( const Pred &  p) const [inline]
template<class Pred >
MdCondIPair<Pred>::type storage::Storage::mdCondPair ( const Pred &  p) const [inline]

References contPair(), and isMd().

ConstMdIterator storage::Storage::mdEnd ( bool(*)(const Md &)  CheckMd = NULL) const [inline]
ConstMdPair storage::Storage::mdPair ( bool(*)(const Md &)  CheckMd = NULL) const [inline]

References contPair(), and isMd().

ConstMdPartIterator storage::Storage::mdPartBegin ( bool(*)(const MdPart &)  CheckMdPart = NULL) const [inline]
ConstMdPartCoIterator storage::Storage::mdpartCoBegin ( bool(*)(const MdPartCo &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstMdPartCoI<Pred>::type storage::Storage::mdpartCoCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstMdPartCoI<Pred>::type storage::Storage::mdpartCoCondEnd ( const Pred &  p) const [inline]
template<class Pred >
MdPartCoCondIPair<Pred>::type storage::Storage::mdPartCoCondPair ( const Pred &  p) const [inline]

References cont.

ConstMdPartCoIterator storage::Storage::mdpartCoEnd ( bool(*)(const MdPartCo &)  CheckFnc = NULL) const [inline]
template<class Pred >
ConstMdPartI<Pred>::type storage::Storage::mdPartCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstMdPartI<Pred>::type storage::Storage::mdPartCondEnd ( const Pred &  p) const [inline]
template<class Pred >
MdPartCondIPair<Pred>::type storage::Storage::mdPartCondPair ( const Pred &  p) const [inline]

References contPair(), and isMdPart().

ConstMdPartCoPair storage::Storage::mdpartCoPair ( bool(*)(const MdPartCo &)  CheckFnc = NULL) const [inline]

References cont.

ConstMdPartIterator storage::Storage::mdPartEnd ( bool(*)(const MdPart &)  CheckMdPart = NULL) const [inline]
ConstMdPartPair storage::Storage::mdPartPair ( bool(*)(const MdPart &)  CheckMdPart = NULL) const [inline]

References contPair(), and isMdPart().

MdPartCoIterator storage::Storage::mdpCoBegin ( bool(*)(const MdPartCo &)  CheckFnc = NULL) [inline, protected]
MdPartCoIterator storage::Storage::mdpCoEnd ( bool(*)(const MdPartCo &)  CheckFnc = NULL) [inline, protected]
MdPartCoPair storage::Storage::mdpCoPair ( bool(*)(const MdPartCo &)  CheckFnc = NULL) [inline, protected]

References cont.

int storage::Storage::modifyFileLoop ( const string &  device,
const string &  lname,
bool  reuseExisting,
unsigned long long  sizeK 
) [virtual]

Modify size and pathname of a file based loop device. This function can only be used between the creation of a device and the next call to commit(). Containers that are already created cannot have these properties changed. The size has only a meaning if reuseExisting is true, otherwise it is ignored.

Parameters:
devicedevice name of the loop device
lnamename of file the loop device is based on
reuseExistingif true an already existing file will be reused. if false the file will be created new. if false the format flag for the device is set by default.
sizeKsize of the created file, this parameter is ignored if reuseExisting is false
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LOOP_NOT_FOUND, storage::LoopCo::updateLoop(), and y2mil.

bool storage::Storage::mountDev ( const string &  device,
const string &  mp,
bool  ro = true,
const string &  opts = "" 
)

References y2mil.

Referenced by mountDeviceOpts(), and umountDeviceUns().

bool storage::Storage::mountDevice ( const string &  device,
const string &  mp 
) [inline, virtual]

Mount the given device and do what is necessary to access volume (e.g. do losetup if loop is set up)

The function mounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name to mount
mpmount point to mount to
Returns:
bool if mount succeeded

Implements storage::StorageInterface.

bool storage::Storage::mountDeviceOpts ( const string &  device,
const string &  mp,
const string &  opts 
) [inline, virtual]

Mount the given device with given options and do what is necessary to access volume (e.g. do losetup if loop is set up)

The function mounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name to mount
mpmount point to mount to
optsoptions to use for mount
Returns:
bool if mount succeeded

Implements storage::StorageInterface.

References mountDev().

bool storage::Storage::mountDeviceRo ( const string &  device,
const string &  mp,
const string &  opts 
) [inline, virtual]

Mount the given device readonly and do what is necessary to access volume (e.g. do losetup if loop is set up)

The function mounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name to mount
mpmount point to mount to
optsoptions to use for mount
Returns:
bool if mount succeeded

Implements storage::StorageInterface.

bool storage::Storage::mountTmp ( const Volume vol,
string &  mp,
const string &  opts = "" 
)
bool storage::Storage::mountTmpRo ( const Volume vol,
string &  mp,
const string &  opts = "" 
)
bool storage::Storage::needCryptPassword ( const string &  device) [virtual]

Check if crypt password is required

Parameters:
devicename of volume, e.g. /dev/hda1
Returns:
true if password is required, false otherwise

Implements storage::StorageInterface.

References storage::IterPair< Iter >::begin(), storage::checkNormalFile(), storage::IterPair< Iter >::end(), storage::Loop::notDeleted(), and y2mil.

int storage::Storage::nextFreeMd ( unsigned &  nr,
string &  device 
) [virtual]

Determine the device name of the next created software raid device

Parameters:
nris set to the number of the next created software raid device
deviceis set to the device name of the next created software raid device
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::decString(), storage::MD_UNKNOWN_NUMBER, storage::MdCo::usedNumbers(), and y2mil.

int storage::Storage::nextFreePartition ( const string &  disk,
storage::PartitionType  type,
unsigned &  nr,
string &  device 
) [virtual]

Determine the device name of the next created partition

Parameters:
diskdevice name of disk, e.g. /dev/hda
typetype of partition to create, e.g. primary or extended
nris set to the number of the next created partition
deviceis set to the device name of the next created partition
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_DISK_NOT_FOUND, storage::toString(), and y2mil.

ConstNfsIterator storage::Storage::nfsBegin ( bool(*)(const Nfs &)  CheckNfs = NULL) const [inline]
template<class Pred >
ConstNfsI<Pred>::type storage::Storage::nfsCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstNfsI<Pred>::type storage::Storage::nfsCondEnd ( const Pred &  p) const [inline]
template<class Pred >
NfsCondIPair<Pred>::type storage::Storage::nfsCondPair ( const Pred &  p) const [inline]

References contPair(), and isNfs().

ConstNfsIterator storage::Storage::nfsEnd ( bool(*)(const Nfs &)  CheckNfs = NULL) const [inline]
ConstNfsPair storage::Storage::nfsPair ( bool(*)(const Nfs &)  CheckNfs = NULL) const [inline]

References contPair(), and isNfs().

ConstPartIterator storage::Storage::partBegin ( bool(*)(const Partition &)  CheckPart = NULL,
bool(*)(const Disk &)  CheckDisk = NULL 
) const [inline]
ConstPartIterator storage::Storage::partBegin ( bool(*)(const Disk &)  CheckDisk) const [inline]

References diskPair().

Referenced by partPair().

template<class Pred >
ConstPartitionI<Pred>::type storage::Storage::partCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstPartitionI<Pred>::type storage::Storage::partCondEnd ( const Pred &  p) const [inline]
template<class Pred >
PartCondIPair<Pred>::type storage::Storage::partCondPair ( const Pred &  p) const [inline]

References diskPair().

ConstPartIterator storage::Storage::partEnd ( bool(*)(const Disk &)  CheckDisk) const [inline]

References diskPair().

Referenced by partPair().

ConstPartIterator storage::Storage::partEnd ( bool(*)(const Partition &)  CheckPart = NULL,
bool(*)(const Disk &)  CheckDisk = NULL 
) const [inline]
ConstPartPair storage::Storage::partPair ( bool(*)(const Partition &)  CheckPart = NULL,
bool(*)(const Disk &)  CheckCnt = NULL 
) const [inline]
ConstPartPair storage::Storage::partPair ( bool(*)(const Disk &)  CheckCnt) const [inline]

References partBegin(), and partEnd().

bool storage::Storage::passwordPopupCb ( const string &  device,
int  attempts,
string &  password 
) const

References y2mil.

string storage::Storage::prependRoot ( const string &  mp) const
void storage::Storage::printInfo ( std::ostream &  str) const
void storage::Storage::progressBarCb ( const string &  id,
unsigned  cur,
unsigned  max 
) const

References y2mil.

void storage::Storage::readArchInfo ( const string &  file) [protected]
void storage::Storage::readFreeInfo ( const string &  file) [protected]
bool storage::Storage::readFstab ( const string &  dir,
deque< storage::VolumeInfo > &  infos 
) [virtual]
bool storage::Storage::readonly ( ) const [inline]
int storage::Storage::removeBackupState ( const string &  name) [virtual]

Remove existing backup state

Parameters:
namename of backup to remove, empty string means to remove all existing backup states
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::clearPointerList(), storage::STORAGE_BACKUP_STATE_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::removeContainer ( Container val) [protected]
bool storage::Storage::removeDm ( const string &  device)
bool storage::Storage::removeDmMapsTo ( const string &  dev)
int storage::Storage::removeDmraid ( const string &  name) [virtual]

Remove a Software raid device.

Parameters:
namename of dmraid device to remove (e.g. pdc_dabaheedj)
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, and storage::STORAGE_DMRAID_CO_NOT_FOUND.

bool storage::Storage::removeDmTable ( const string &  table)
void storage::Storage::removeDmTableTo ( const Volume vol)
void storage::Storage::removeDmTableTo ( const string &  device) [virtual]

Remove all possibly existing dm maps to a given device

Parameters:
devicedevice name for which dm maps should be removed

Implements storage::StorageInterface.

References y2mil.

void storage::Storage::removeDmTableTo ( unsigned long  mjr,
unsigned long  mnr 
)
int storage::Storage::removeFileLoop ( const string &  lname,
bool  removeFile 
) [virtual]

Remove a file based loop device from the system.

Parameters:
lnamename of file the loop device is based on
removeFileif true the file is removed together with the based loop device. If false the file is not touched.
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::LoopCo::removeLoop(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LOOP_NOT_FOUND, and y2mil.

int storage::Storage::removeFstabOptions ( const string &  device,
const string &  options 
) [virtual]

Remove from the fstab options of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
optionsfstab options to remove from already existing options of the volume (e.g. noauto). Multiple options are separated by ",". It is possible to specify wildcards, so "uid=.*" matches every option starting with the string "uid=".
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::splitString(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

int storage::Storage::removeLvmLv ( const string &  vg,
const string &  name 
) [virtual]

Remove a LVM logical volume

Parameters:
vgname of volume group
nameof logical volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::removeLvmLvByDevice ( const string &  device) [virtual]

Remove a LVM logical volume

Parameters:
devicename of logical volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_LVM_INVALID_DEVICE, storage::undevDevice(), and y2mil.

int storage::Storage::removeLvmLvSnapshot ( const string &  vg,
const string &  name 
) [virtual]

Remove a LVM logical volume snapshot

Parameters:
vgname of volume group
namename of logical volume snapshot
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::removeLvmVg ( const string &  name) [virtual]

Remove a LVM volume group. If the volume group contains logical volumes, these are automatically also removed.

Parameters:
namename of volume group
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::removeMd ( const string &  name,
bool  destroySb = true 
) [virtual]

Remove a Software raid device.

Parameters:
namename of software raid device to remove (e.g. /dev/md0)
destroySbflag if the MD superblocks on the physical devices should be destroyed after md device is deleted
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::Md::mdStringNum(), storage::MdCo::removeMd(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, and y2mil.

int storage::Storage::removeMdPartCo ( const string &  name,
bool  destroySb 
) [virtual]

Remove a Partitionable Software raid device.

Only RAID with persistent superblock can be removed. IMSM and DDF RAIDs cannot be removed.

Parameters:
namename of software raid device to remove (e.g. /dev/md0)
destroySbflag if the MD superblocks on the physical devices should be destroyed after md device is deleted
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::MDPART_DEVICE_NOT_FOUND, storage::MDPART_NO_REMOVE, storage::MdPartCoInfo::sb_ver, y2mil, and y2war.

int storage::Storage::removePartition ( const string &  partition) [virtual]
int storage::Storage::removeSubvolume ( const string &  device,
const string &  name 
) [virtual]

Remove a BTRFS subvolume

Parameters:
deviceof the main BTRFS volume
nameof subvolume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::BtrfsCo::removeSubvolume(), storage::STORAGE_BTRFS_CO_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::removeTmpfsMount ( const string &  mp) [virtual]

Remove tmpfs filesystem

Parameters:
mpmount point for the tmpfs
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::TmpfsCo::removeTmpfs(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_TMPFS_CO_NOT_FOUND, and y2mil.

void storage::Storage::removeUsedBy ( const string &  dev,
UsedByType  type,
const string &  device 
)
void storage::Storage::removeUsedBy ( const list< string > &  devs,
UsedByType  type,
const string &  device 
)
int storage::Storage::removeUsing ( const string &  device,
const list< UsedBy > &  uby 
)
int storage::Storage::removeVolume ( const string &  device) [virtual]

Removes a volume from the system. This function can be used for removing all types of volumes (partitions, LVM LVs, MD devices ...)

Parameters:
devicename of volume, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_REMOVE_USED_VOLUME, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

Referenced by storage::MdPartCo::destroyPartitionTable(), and storage::DmPartCo::destroyPartitionTable().

bool storage::Storage::rescanCryptedObjects ( ) [virtual]

Rescan after unlocked encrypted volume. Rescan for objects that might be newly found after at least one encrypted volume has been unlocked. Currently the only supported containers on an decrypted volume is a LVM Volume Group.

Returns:
true if at least on encrypted container has been found

Implements storage::StorageInterface.

References storage::LvmVg::activate(), storage::PeContainer::checkConsistency(), storage::LvmVg::getVgs(), storage::LvmVg::lvmLvBegin(), storage::LvmVg::lvmLvEnd(), storage::LvmVg::normalizeDmDevices(), and y2mil.

void storage::Storage::rescanEverything ( ) [virtual]

Rescan all disks. All currently detected objects are forgotten and a new scan for all type of objects (disks, LVM, MD) is initiated. This function makes sense to be called after something outside of libstorage changed disk layout or created storage objects. Any changes already cached are lost.

Implements storage::StorageInterface.

References storage::Dm::activate(), storage::DmmultipathCo::activate(), storage::DmraidCo::activate(), storage::MdPartCo::activate(), storage::MdCo::activate(), storage::LvmVg::activate(), storage::clearPointerList(), storage::DmmultipathCo::getMultipaths(), storage::DmmultipathCo::isActive(), and y2mil.

int storage::Storage::resizePartition ( const string &  device,
unsigned long  sizeCyl,
bool  ignoreFs,
bool  noBtrfs 
) [protected]
int storage::Storage::resizePartition ( const string &  device,
unsigned long  sizeCyl,
bool  ignore_fs 
) [protected]
int storage::Storage::resizePartition ( const string &  device,
unsigned long  sizeCyl 
) [virtual]

Resize an existing disk partition. Units given in disk cylinders. Filesystem data is resized accordingly.

Parameters:
devicedevice name of partition
sizeCylnew size of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

int storage::Storage::resizePartitionNoFs ( const string &  device,
unsigned long  sizeCyl 
) [virtual]

Resize an existing disk partition. Units given in disk cylinders. Filesystem data is ignored.

Parameters:
devicedevice name of partition
sizeCylnew size of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

int storage::Storage::resizeVolume ( const string &  device,
unsigned long long  newSizeK 
) [virtual]

Resizes a volume while keeping the data on the filesystem

Parameters:
devicename of volume, e.g. /dev/hda1
newSizeKnew size desired volume in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

int storage::Storage::resizeVolume ( const string &  device,
unsigned long long  newSizeK,
bool  ignore_fs 
) [protected]
int storage::Storage::resizeVolume ( const string &  device,
unsigned long long  newSizeK,
bool  ignore_fs,
bool  noBtrfs 
) [protected]
int storage::Storage::resizeVolumeNoFs ( const string &  device,
unsigned long long  newSizeK 
) [virtual]

Resizes a volume while ignoring the data on the filesystem

Parameters:
devicename of volume, e.g. /dev/hda1
newSizeKnew size desired volume in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

int storage::Storage::restoreBackupState ( const string &  name) [virtual]

Restore state to a previously created backup

Parameters:
namename of the backup to restore
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::clearPointerList(), storage::STORAGE_BACKUP_STATE_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

const string& storage::Storage::root ( ) const [inline]

References archinfo.

Referenced by storage::Loop::lfileRealPath().

void storage::Storage::rootMounted ( )
void storage::Storage::setBtrfsUsedBy ( const Btrfs bt)
void storage::Storage::setCacheChanges ( bool  cache = true) [inline, virtual]

With the function setCacheChanges you can turn the caching mode on and off. Turning of caching mode will cause all changes done so far to be committed upto the next modifying function.

Implements storage::StorageInterface.

void storage::Storage::setCachedFreeInfo ( const string &  device,
bool  resize_cached,
const ResizeInfo resize_info,
bool  content_cached,
const ContentInfo content_info 
) [protected]
void storage::Storage::setCallbackCommitErrorPopup ( CallbackCommitErrorPopup  pfnc) [inline, virtual]

Sets the callback function called for errors during commit.

Parameters:
pfncpointer to function

Implements storage::StorageInterface.

void storage::Storage::setCallbackInfoPopup ( CallbackInfoPopup  pfnc) [inline, virtual]

Sets the callback function called to display a info popup to the user

Parameters:
pfncpointer to function

Implements storage::StorageInterface.

References commit_error_popup_cb.

void storage::Storage::setCallbackPasswordPopup ( CallbackPasswordPopup  pfnc) [inline, virtual]

Sets the callback function called to query a password by the user.

Parameters:
pfncpointer to function.

Implements storage::StorageInterface.

void storage::Storage::setCallbackProgressBar ( CallbackProgressBar  pfnc) [inline, virtual]

Sets the callback function called on progress bar events

Parameters:
pfncpointer to function

Implements storage::StorageInterface.

References info_popup_cb.

void storage::Storage::setCallbackShowInstallInfo ( CallbackShowInstallInfo  pfnc) [inline, virtual]

Sets the callback function called to display install info

Parameters:
pfncpointer to function

Implements storage::StorageInterface.

References yesno_popup_cb.

void storage::Storage::setCallbackYesNoPopup ( CallbackYesNoPopup  pfnc) [inline, virtual]

Sets the callback function called to get a Yes/No decision by the user.

Parameters:
pfncpointer to function

Implements storage::StorageInterface.

References password_popup_cb.

int storage::Storage::setCrypt ( const string &  device,
bool  val 
) [virtual]

Set encryption state of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
valflag if encryption should be activated
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::ENC_LUKS, and y2mil.

int storage::Storage::setCryptPassword ( const string &  device,
const string &  pwd 
) [virtual]

Set crypt password of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
pwdcrypt password for this volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::mapInsertOrReplace(), storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::setCryptType ( const string &  device,
bool  val,
EncryptType  typ 
) [virtual]

Set encryption state of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
valflag if encryption should be activated
typtype of encryption to set up
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, storage::toString(), and y2mil.

void storage::Storage::setDefaultFs ( FsType  val) [virtual]

Set default filesystem.

Parameters:
valnew default filesystem.

Implements storage::StorageInterface.

References storage::toString(), and y2mil.

void storage::Storage::setDefaultMountBy ( MountByType  val) [virtual]

Set default value for mount by.

Parameters:
valnew default mount by value.

Implements storage::StorageInterface.

References storage::toString(), and y2mil.

void storage::Storage::setDefaultSubvolName ( const string &  val) [virtual]

Set default subvolume name.

Parameters:
valnew default subvolume name.

Implements storage::StorageInterface.

References y2mil.

void storage::Storage::setDetectMountedVolumes ( bool  val = true) [virtual]

Determine of libstorage should detect mounted volumes.

Parameters:
valflag if mounted volumes should be detected

Implements storage::StorageInterface.

References y2mil.

bool storage::Storage::setDmcryptData ( const string &  dev,
const string &  dm,
unsigned  dmnum,
unsigned long long  siz,
storage::EncryptType  typ 
)

References y2mil.

void storage::Storage::setExtError ( const string &  txt)
int storage::Storage::setIgnoreFstab ( const string &  device,
bool  val 
) [virtual]

Set fstab handling state of a volume. This way one can make libstorage ignore fstab handling for a volume. Use this with care.

Parameters:
devicename of volume, e.g. /dev/hda1
valflag if fstab should be ignored for this volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_VOLUME_NOT_FOUND, and y2mil.

void storage::Storage::setImsmDriver ( ImsmDriver  driver) [inline, virtual]

Set which driver should be used for IMSM Software RAIDs.

Parameters:
driverdriver to use for IMSM Software RAIDs.

Implements storage::StorageInterface.

void storage::Storage::setMultipathAutostart ( MultipathAutostart  multipath_autostart) [inline, virtual]

Set whether multipath should be started automatically if detected.

Parameters:
multipath_autostartvalue for automatically start of multipath.

Implements storage::StorageInterface.

void storage::Storage::setPartitionAlignment ( PartAlign  val) [virtual]

Set alignment of newly created partitions. PartAlign has value ALIGN_OPTIMAL or ALIGN_CYLINDER. ALIGN_CYLINDER aligns partiton start to cylinder boundaries like it was traditionally for a long time. ALIGN_OPTIMAL aligns according to values provided by kernel. Default alignment is to multiples of 2048 sectors which is compatible to partition layout of Windows Vista and Windows 7.

Parameters:
valvalue of new alignment type

Implements storage::StorageInterface.

References storage::toString(), and y2mil.

void storage::Storage::setRecursiveRemoval ( bool  val = true) [virtual]

Set handling of deletion of entities that belong to other volumes. Normally it is not possible to remove a volume that is part of another entity (e.g. you cannot remove a partition that is part of an LVM Volume group or a Software raid). This setting makes the removal recursive, this means all entities where the removed volume is a part of are also removed. Use this setting with extreme care, it may cause the removal of LVM Volume group spanning multiple disks just because one partition of the LVM Volume group got deleted. Default value of this flag is false.

Parameters:
valflag if removal is done recursive

Implements storage::StorageInterface.

References y2mil.

Referenced by storage::MdPartCo::destroyPartitionTable(), and storage::DmPartCo::destroyPartitionTable().

void storage::Storage::setRootPrefix ( const string &  root) [virtual]

Set value for root prefix.

This value is appended to all mount points of volumes, when changes are commited. Config files fstab, crypttab and mdadm.conf are also created relative to this prefix. This variable must be set before first call to commit.

Parameters:
rootnew value for root prefix

Implements storage::StorageInterface.

References y2mil.

void storage::Storage::setUsedBy ( const string &  dev,
UsedByType  type,
const string &  device 
)
void storage::Storage::setUsedBy ( const list< string > &  devs,
UsedByType  type,
const string &  device 
)
void storage::Storage::setUsedByBtrfs ( const string &  dev,
const string &  uuid 
)
void storage::Storage::setZeroNewPartitions ( bool  val = true) [virtual]

Set handling of newly created partitions. With this flag once can make the library overwrite start and end of newly created partitions with zeroes. This prevents that obsolete structures (e.g. LVM VGs or MD superblocks) still exists on newly created partitions since the area on disk previously contained a LVM PV or a device of a software raid. volumes. Use this setting with extreme care, it make libstorage behave fundamentally different from all other partitioning tools. Default value of this flag is false.

Parameters:
valflag if newly created partitions should be zeroed

Implements storage::StorageInterface.

References y2mil.

void storage::Storage::showInfoCb ( const Text info,
bool  quiet 
)
int storage::Storage::shrinkBtrfsVolume ( const string &  name,
const deque< string > &  devs 
) [virtual]

Shrink a BTRFS volume by some devices

Parameters:
namename of BTRFS volume (this can contain a device name or be specified as "UUID=<uuid>")
devslist with devices to remove from that BTRFS volume
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::BTRFS_LIST_EMPTY, storage::BtrfsCo::shrinkVolume(), storage::STORAGE_BTRFS_CO_NOT_FOUND, storage::STORAGE_CHANGE_READONLY, and y2mil.

int storage::Storage::shrinkBtrfsVolume ( const string &  device,
const string &  dev 
)
int storage::Storage::shrinkLvmVg ( const string &  name,
const deque< string > &  devs 
) [virtual]

Shrink a LVM volume group

Parameters:
namename of volume group
devslist with physical devices to remove from that volume group
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::STORAGE_CHANGE_READONLY, storage::STORAGE_LVM_VG_NOT_FOUND, and y2mil.

int storage::Storage::shrinkMd ( const string &  name,
const list< string > &  devices,
const list< string > &  spares 
) [virtual]

Remove a partition from a raid device. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
deviceslist of physical devices to remove from the raid
spareslist of spare physical devices to remove from the raid
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::Md::mdStringNum(), storage::normalizeDevices(), storage::MdCo::shrinkMd(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, and y2mil.

unsigned long long storage::Storage::sizeK ( const string &  device) [static]

References y2mil.

void storage::Storage::sortCommitLists ( storage::CommitStage  stage,
list< const Container * > &  co,
list< const Volume * > &  vl,
list< commitAction > &  todo 
) const [protected]
void storage::Storage::syncMdadm ( )
string storage::Storage::testdir ( ) const [inline]
bool storage::Storage::testFilesEqual ( const string &  n1,
const string &  n2 
) [static]
bool storage::Storage::testmode ( ) const [inline]
const string& storage::Storage::tmpDir ( ) const [inline]
ConstTmpfsIterator storage::Storage::tmpfsBegin ( bool(*)(const Tmpfs &)  CheckTmpfs = NULL) const [inline]
template<class Pred >
ConstTmpfsI<Pred>::type storage::Storage::tmpfsCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstTmpfsI<Pred>::type storage::Storage::tmpfsCondEnd ( const Pred &  p) const [inline]
template<class Pred >
TmpfsCondIPair<Pred>::type storage::Storage::tmpfsCondPair ( const Pred &  p) const [inline]

References contPair(), and isTmpfs().

ConstTmpfsIterator storage::Storage::tmpfsEnd ( bool(*)(const Tmpfs &)  CheckTmpfs = NULL) const [inline]
ConstTmpfsPair storage::Storage::tmpfsPair ( bool(*)(const Tmpfs &)  CheckTmpfs = NULL) const [inline]

References contPair(), and isTmpfs().

bool storage::Storage::umountDev ( const string &  device,
bool  dounsetup = false 
)

References y2mil.

Referenced by getRootPrefix().

bool storage::Storage::umountDevice ( const string &  device) [inline, virtual]

Umount the given device and do what is necessary to remove underlying volume (e.g. do losetup -d if loop is set up or dmsetup remove if dmcrypt is used)

The function umounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name to umount
Returns:
bool if umount succeeded

Implements storage::StorageInterface.

bool storage::Storage::umountDeviceUns ( const string &  device,
bool  unsetup 
) [inline, virtual]

Umount the given device and dependent of parameter unsetup do what is necessary to remove underlying volume (e.g. do losetup -d if loop is set up or dmsetup remove if dmcrypt is used

The function umounts at once, /etc/fstab is unaffected

Parameters:
devicedevice name to umount
unsetupflag if losetup/dmcrypt should be removed
Returns:
bool if umount succeeded

Implements storage::StorageInterface.

References mountDev().

int storage::Storage::unaccessDev ( const string &  device)
void storage::Storage::updateDmEmptyPeMap ( )
int storage::Storage::updateMd ( const string &  name,
const list< string > &  devices,
const list< string > &  spares 
) [virtual]

Update all partitions of a raid device. This can only be done before the raid is created on disk.

Parameters:
namename of software raid device (e.g. /dev/md0)
deviceslist with physical devices to create the raid with
spareslist with spare physical devices to create the raid with
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::Md::mdStringNum(), storage::normalizeDevices(), storage::STORAGE_CHANGE_READONLY, storage::STORAGE_MD_INVALID_NAME, storage::STORAGE_MD_NOT_FOUND, storage::MdCo::updateMd(), and y2mil.

int storage::Storage::updatePartitionArea ( const string &  device,
unsigned long  start,
unsigned long  size,
bool  noBtrfs 
) [protected]
int storage::Storage::updatePartitionArea ( const string &  device,
unsigned long  startCyl,
unsigned long  sizeCyl 
) [virtual]

Update area used by a new partition. Units given in disk cylinders. This function can only be used with a partition created but not yet committed.

Parameters:
devicedevice name of partition, e.g. /dev/hda1
startCylcylinder number of partition start (cylinders are numbered starting with 0)
sizeCylsize of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error

Implements storage::StorageInterface.

VolIterator storage::Storage::vBegin ( bool(*)(const Container &)  CheckCnt) [inline, protected]

References cPair().

Referenced by vPair().

VolIterator storage::Storage::vBegin ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) [inline, protected]
VolIterator storage::Storage::vEnd ( bool(*)(const Container &)  CheckCnt) [inline, protected]

References cPair().

Referenced by vPair().

VolIterator storage::Storage::vEnd ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) [inline, protected]
int storage::Storage::verifyCryptFilePassword ( const string &  file,
const string &  pwd 
)
int storage::Storage::verifyCryptPassword ( const string &  device,
const string &  pwd,
bool  erase 
) [virtual]

Verify password of a volume

Parameters:
devicename of volume, e.g. /dev/hda1
pwdcrypt password for this volume
eraseif true remove password even after successful verification
Returns:
zero if password is ok, a negative number to indicate an error

Implements storage::StorageInterface.

References storage::ENC_UNKNOWN, storage::STORAGE_CHANGE_READONLY, storage::VOLUME_CRYPT_NOT_DETECTED, and y2mil.

ConstVolIterator storage::Storage::volBegin ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) const [inline]
ConstVolIterator storage::Storage::volBegin ( bool(*)(const Container &)  CheckCnt) const [inline]

References contPair().

Referenced by volPair().

template<class Pred >
ConstVolumeI<Pred>::type storage::Storage::volCondBegin ( const Pred &  p) const [inline]
template<class Pred >
ConstVolumeI<Pred>::type storage::Storage::volCondEnd ( const Pred &  p) const [inline]
template<class Pred >
VolCondIPair<Pred>::type storage::Storage::volCondPair ( const Pred &  p) const [inline]

References contPair().

ConstVolIterator storage::Storage::volEnd ( bool(*)(const Container &)  CheckCnt) const [inline]

References contPair().

Referenced by volPair().

ConstVolIterator storage::Storage::volEnd ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) const [inline]
ConstVolPair storage::Storage::volPair ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) const [inline]
ConstVolPair storage::Storage::volPair ( bool(*)(const Container &)  CheckCnt) const [inline]
VPair storage::Storage::vPair ( bool(*)(const Volume &)  CheckVol = NULL,
bool(*)(const Container &)  CheckCnt = NULL 
) [inline, protected]
VPair storage::Storage::vPair ( bool(*)(const Container &)  CheckCnt) [inline, protected]

References vBegin(), and vEnd().

int storage::Storage::waitForDevice ( const string &  device) [static]
void storage::Storage::waitForDevice ( ) [static]
bool storage::Storage::yesnoPopupCb ( const Text info) const
int storage::Storage::zeroDevice ( const string &  device,
bool  random = false,
unsigned long long  beginK = 200,
unsigned long long  endK = 10 
) [static]

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const Storage v 
) [friend]
std::ostream& operator<< ( std::ostream &  s,
Storage v 
) [friend]

Member Data Documentation

Referenced by root().

std::map<string,CCont> storage::Storage::backups [protected]
bool storage::Storage::cache [protected]

Referenced by autodetect(), and instsys().

map<string, list<UsedBy> > storage::Storage::danglingUsedBy [protected]

Referenced by isDmContainer(), and readonly().

string storage::Storage::extendedError [protected]
map<string, FreeInfo> storage::Storage::free_infos [protected]

Referenced by tmpDir().

unsigned storage::Storage::hald_pid [protected]
std::list<std::pair<string, Text> > storage::Storage::infoPopupTxts [protected]

Referenced by logdir().

unsigned storage::Storage::max_log_num [protected]
std::map<string,string> storage::Storage::pwdBuf [protected]
string storage::Storage::rootprefix [protected]

Referenced by isCacheChanges().

string storage::Storage::tempdir [protected]
list< string > storage::Storage::tmp_dirs [static, protected]

The documentation for this class was generated from the following files: