storage::StorageInterface Class Reference

Abstract class defining the interface for libstorage. More...

#include <StorageInterface.h>

List of all members.

Public Member Functions

virtual void getContainers (deque< ContainerInfo > &infos)=0
virtual int getDiskInfo (const string &disk, DiskInfo &info)=0
virtual int getContDiskInfo (const string &disk, ContainerInfo &cinfo, DiskInfo &info)=0
virtual int getLvmVgInfo (const string &name, LvmVgInfo &info)=0
virtual int getContLvmVgInfo (const string &name, ContainerInfo &cinfo, LvmVgInfo &info)=0
virtual int getDmraidCoInfo (const string &name, DmraidCoInfo &info)=0
virtual int getContDmraidCoInfo (const string &name, ContainerInfo &cinfo, DmraidCoInfo &info)=0
virtual int getDmmultipathCoInfo (const string &name, DmmultipathCoInfo &info)=0
virtual int getContDmmultipathCoInfo (const string &name, ContainerInfo &cinfo, DmmultipathCoInfo &info)=0
virtual int getMdPartCoInfo (const string &name, MdPartCoInfo &info)=0
virtual int getContMdPartCoInfo (const string &name, ContainerInfo &cinfo, MdPartCoInfo &info)=0
virtual void setImsmDriver (ImsmDriver driver)=0
virtual ImsmDriver getImsmDriver () const =0
virtual void getVolumes (deque< VolumeInfo > &infos)=0
virtual int getVolume (const string &device, VolumeInfo &info)=0
virtual int getPartitionInfo (const string &disk, deque< PartitionInfo > &plist)=0
virtual int getLvmLvInfo (const string &name, deque< LvmLvInfo > &plist)=0
virtual int getMdInfo (deque< MdInfo > &plist)=0
virtual int getMdPartInfo (const string &device, deque< MdPartInfo > &plist)=0
virtual int getNfsInfo (deque< NfsInfo > &plist)=0
virtual int getLoopInfo (deque< LoopInfo > &plist)=0
virtual int getDmInfo (deque< DmInfo > &plist)=0
virtual int getDmraidInfo (const string &name, deque< DmraidInfo > &plist)=0
virtual int getDmmultipathInfo (const string &name, deque< DmmultipathInfo > &plist)=0
virtual bool getFsCapabilities (FsType fstype, FsCapabilities &fscapabilities) const =0
virtual bool getDlabelCapabilities (const string &dlabel, DlabelCapabilities &dlabelcapabilities) const =0
virtual list< string > getAllUsedFs () const =0
virtual int createPartition (const string &disk, PartitionType type, unsigned long startCyl, unsigned long sizeCyl, string &device)=0
virtual int resizePartition (const string &device, unsigned long sizeCyl)=0
virtual int resizePartitionNoFs (const string &device, unsigned long sizeCyl)=0
virtual int updatePartitionArea (const string &device, unsigned long startCyl, unsigned long sizeCyl)=0
virtual int freeCylindersAroundPartition (const string &device, unsigned long &freeCylsBefore, unsigned long &freeCylsAfter)=0
virtual int nextFreePartition (const string &disk, PartitionType type, unsigned &nr, string &device)=0
virtual int createPartitionKb (const string &disk, PartitionType type, unsigned long long startK, unsigned long long sizeK, string &device)=0
virtual int createPartitionAny (const string &disk, unsigned long long sizeK, string &device)=0
virtual int createPartitionMax (const string &disk, PartitionType type, string &device)=0
virtual unsigned long long cylinderToKb (const string &disk, unsigned long sizeCyl)=0
virtual unsigned long kbToCylinder (const string &disk, unsigned long long sizeK)=0
virtual int removePartition (const string &partition)=0
virtual int changePartitionId (const string &partition, unsigned id)=0
virtual int forgetChangePartitionId (const string &partition)=0
virtual string getPartitionPrefix (const string &disk)=0
virtual string getPartitionName (const string &disk, int partition_no)=0
virtual int getUnusedPartitionSlots (const string &disk, list< PartitionSlotInfo > &slots)=0
virtual int destroyPartitionTable (const string &disk, const string &label)=0
virtual int initializeDisk (const string &disk, bool value)=0
virtual string defaultDiskLabel (const string &device)=0
virtual int changeFormatVolume (const string &device, bool format, FsType fs)=0
virtual int changeLabelVolume (const string &device, const string &label)=0
virtual int changeMkfsOptVolume (const string &device, const string &opts)=0
virtual int changeTunefsOptVolume (const string &device, const string &opts)=0
virtual int changeMountPoint (const string &device, const string &mount)=0
virtual int getMountPoint (const string &device, string &mount)=0
virtual int changeMountBy (const string &device, MountByType mby)=0
virtual int getMountBy (const string &device, MountByType &mby)=0
virtual int changeFstabOptions (const string &device, const string &options)=0
virtual int getFstabOptions (const string &device, string &options)=0
virtual int addFstabOptions (const string &device, const string &options)=0
virtual int removeFstabOptions (const string &device, const string &options)=0
virtual int setCryptPassword (const string &device, const string &pwd)=0
virtual int forgetCryptPassword (const string &device)=0
virtual int getCryptPassword (const string &device, string &pwd)=0
virtual int verifyCryptPassword (const string &device, const string &pwd, bool erase)=0
virtual bool needCryptPassword (const string &device)=0
virtual int setCrypt (const string &device, bool val)=0
virtual int setCryptType (const string &device, bool val, EncryptType typ)=0
virtual int getCrypt (const string &device, bool &val)=0
virtual int setIgnoreFstab (const string &device, bool val)=0
virtual int getIgnoreFstab (const string &device, bool &val)=0
virtual int changeDescText (const string &device, const string &txt)=0
virtual int addFstabEntry (const string &device, const string &mount, const string &vfs, const string &options, unsigned freq, unsigned passno)=0
virtual int resizeVolume (const string &device, unsigned long long newSizeK)=0
virtual int resizeVolumeNoFs (const string &device, unsigned long long newSizeK)=0
virtual int forgetResizeVolume (const string &device)=0
virtual void setRecursiveRemoval (bool val)=0
virtual bool getRecursiveRemoval () const =0
virtual int getRecursiveUsing (const string &device, list< string > &devices)=0
virtual void setZeroNewPartitions (bool val)=0
virtual bool getZeroNewPartitions () const =0
virtual void setPartitionAlignment (PartAlign val)=0
virtual PartAlign getPartitionAlignment () const =0
virtual void setDefaultMountBy (MountByType val)=0
virtual MountByType getDefaultMountBy () const =0
virtual void setDefaultFs (FsType val)=0
virtual FsType getDefaultFs () const =0
virtual void setEfiBoot (bool val)=0
virtual bool getEfiBoot ()=0
virtual void setRootPrefix (const string &root)=0
virtual string getRootPrefix () const =0
virtual void setDetectMountedVolumes (bool val)=0
virtual bool getDetectMountedVolumes () const =0
virtual int removeVolume (const string &device)=0
virtual int createLvmVg (const string &name, unsigned long long peSizeK, bool lvm1, const deque< string > &devs)=0
virtual int removeLvmVg (const string &name)=0
virtual int extendLvmVg (const string &name, const deque< string > &devs)=0
virtual int shrinkLvmVg (const string &name, const deque< string > &devs)=0
virtual int createLvmLv (const string &vg, const string &name, unsigned long long sizeK, unsigned stripes, string &device)=0
virtual int removeLvmLvByDevice (const string &device)=0
virtual int removeLvmLv (const string &vg, const string &name)=0
virtual int changeLvStripeCount (const string &vg, const string &name, unsigned long stripes)=0
virtual int changeLvStripeSize (const string &vg, const string &name, unsigned long long stripeSizeK)=0
virtual int createLvmLvSnapshot (const string &vg, const string &origin, const string &name, unsigned long long cowSizeK, string &device)=0
virtual int removeLvmLvSnapshot (const string &vg, const string &name)=0
virtual int getLvmLvSnapshotStateInfo (const string &vg, const string &name, LvmLvSnapshotStateInfo &info)=0
virtual int nextFreeMd (unsigned &nr, string &device)=0
virtual int createMd (const string &name, MdType rtype, const deque< string > &devs)=0
virtual int createMdAny (MdType rtype, const deque< string > &devs, string &device)=0
virtual int removeMd (const string &name, bool destroySb)=0
virtual int extendMd (const string &name, const string &dev)=0
virtual int shrinkMd (const string &name, const string &dev)=0
virtual int changeMdType (const string &name, MdType rtype)=0
virtual int changeMdChunk (const string &name, unsigned long chunkSizeK)=0
virtual int changeMdParity (const string &name, MdParity ptype)=0
virtual int checkMd (const string &name)=0
virtual int getMdStateInfo (const string &name, MdStateInfo &info)=0
virtual int getMdPartCoStateInfo (const string &name, MdPartCoStateInfo &info)=0
virtual int computeMdSize (MdType md_type, const list< string > &devices, unsigned long long &sizeK)=0
virtual int removeMdPartCo (const string &name, bool destroySb)=0
virtual int addNfsDevice (const string &nfsDev, const string &opts, unsigned long long sizeK, const string &mp, bool nfs4)=0
virtual int checkNfsDevice (const string &nfsDev, const string &opts, bool nfs4, unsigned long long &sizeK)=0
virtual int createFileLoop (const string &lname, bool reuseExisting, unsigned long long sizeK, const string &mp, const string &pwd, string &device)=0
virtual int modifyFileLoop (const string &device, const string &lname, bool reuseExisting, unsigned long long sizeK)=0
virtual int removeFileLoop (const string &lname, bool removeFile)=0
virtual int removeDmraid (const string &name)=0
virtual void getCommitInfos (list< CommitInfo > &infos) const =0
virtual const string & getLastAction () const =0
virtual const string & getExtendedErrorMessage () const =0
virtual void setCallbackProgressBar (CallbackProgressBar pfnc)=0
virtual CallbackProgressBar getCallbackProgressBar () const =0
virtual void setCallbackShowInstallInfo (CallbackShowInstallInfo pfnc)=0
virtual CallbackShowInstallInfo getCallbackShowInstallInfo () const =0
virtual void setCallbackInfoPopup (CallbackInfoPopup pfnc)=0
virtual CallbackInfoPopup getCallbackInfoPopup () const =0
virtual void setCallbackYesNoPopup (CallbackYesNoPopup pfnc)=0
virtual CallbackYesNoPopup getCallbackYesNoPopup () const =0
virtual void setCallbackCommitErrorPopup (CallbackCommitErrorPopup pfnc)=0
virtual CallbackCommitErrorPopup getCallbackCommitErrorPopup () const =0
virtual void setCallbackPasswordPopup (CallbackPasswordPopup pfnc)=0
virtual CallbackPasswordPopup getCallbackPasswordPopup () const =0
virtual void setCacheChanges (bool cache)=0
virtual bool isCacheChanges () const =0
virtual int commit ()=0
virtual string getErrorString (int error) const =0
virtual int createBackupState (const string &name)=0
virtual int restoreBackupState (const string &name)=0
virtual bool checkBackupState (const string &name) const =0
virtual bool equalBackupStates (const string &lhs, const string &rhs, bool verbose_log) const =0
virtual int removeBackupState (const string &name)=0
virtual bool checkDeviceMounted (const string &device, list< string > &mps)=0
virtual bool umountDevice (const string &device)=0
virtual bool mountDevice (const string &device, const string &mp)=0
virtual int activateEncryption (const string &device, bool on)=0
virtual bool mountDeviceOpts (const string &device, const string &mp, const string &opts)=0
virtual bool mountDeviceRo (const string &device, const string &mp, const string &opts)=0
virtual bool checkDmMapsTo (const string &device)=0
virtual void removeDmTableTo (const string &device)=0
virtual bool getFreeInfo (const string &device, bool get_resize, ResizeInfo &resize_info, bool get_content, ContentInfo &content_info, bool use_cache)=0
virtual bool readFstab (const string &dir, deque< VolumeInfo > &infos)=0
virtual void activateHld (bool val)=0
virtual void activateMultipath (bool val)=0
virtual void rescanEverything ()=0
virtual bool rescanCryptedObjects ()=0
virtual void dumpObjectList ()=0
virtual void dumpCommitInfos () const =0
virtual int getContVolInfo (const string &dev, ContVolInfo &info)=0

Detailed Description

Abstract class defining the interface for libstorage.


Member Function Documentation

virtual int storage::StorageInterface::activateEncryption ( const string &  device,
bool  on 
) [pure 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:
device device name
on if true activate access to encrypted data, otherwise deactivate it
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::activateHld ( bool  val  )  [pure virtual]

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

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

Parameters:
val flag if devices should be activated or deactivated
Returns:
bool if values could be successfully determined
virtual void storage::StorageInterface::activateMultipath ( bool  val  )  [pure virtual]

Activate or deactivate multipath

Only use in instsys mode.

Parameters:
val flag if multipath should be activated or deactivated
Returns:
bool if values could be successfully determined
virtual int storage::StorageInterface::addFstabEntry ( const string &  device,
const string &  mount,
const string &  vfs,
const string &  options,
unsigned  freq,
unsigned  passno 
) [pure virtual]

Adds the specified entry to /etc/fstab

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

Parameters:
device name of volume, e.g. /dev/hda1
mount mount point, e.g. /home
vfs virtual filesystem type, e.g. reiserfs or ext3
options fstab options e.g. noauto,user,sync
freq value for fifth fstab field
passno value for sixth fstab field
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::addFstabOptions ( const string &  device,
const string &  options 
) [pure virtual]

Add to the fstab options of a volume

Parameters:
device name of volume, e.g. /dev/hda1
options fstab 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
virtual int storage::StorageInterface::addNfsDevice ( const string &  nfsDev,
const string &  opts,
unsigned long long  sizeK,
const string &  mp,
bool  nfs4 
) [pure virtual]

Add knowledge about existence of nfs device.

Parameters:
nfsDev name of nfs device
sizeK size of the nfs device
opts mount options for nfs mount
mp mount point of the nfs device
nfs4 use NFS4 for device
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeDescText ( const string &  device,
const string &  txt 
) [pure virtual]

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

Parameters:
device name of volume, e.g. /dev/hda1
txt description text for this partition
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeFormatVolume ( const string &  device,
bool  format,
FsType  fs 
) [pure virtual]

Sets or unsets the format flag for the given volume.

Parameters:
device name of volume, e.g. /dev/hda1
format flag if format is set on or off
fs type of filesystem to create if format is true
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeFstabOptions ( const string &  device,
const string &  options 
) [pure virtual]

Changes the fstab options of a volume

Parameters:
device name of volume, e.g. /dev/hda1
options new 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
virtual int storage::StorageInterface::changeLabelVolume ( const string &  device,
const string &  label 
) [pure virtual]

Sets the value of the filesystem label.

Parameters:
device name of volume, e.g. /dev/hda1
label value of the label
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeLvStripeCount ( const string &  vg,
const string &  name,
unsigned long  stripes 
) [pure virtual]

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

Parameters:
vg name of volume group
name of logical volume
stripes new stripe count of logical volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeLvStripeSize ( const string &  vg,
const string &  name,
unsigned long long  stripeSizeK 
) [pure virtual]

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

Parameters:
vg name of volume group
name of logical volume
stripeSizeK new stripe size of logical volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMdChunk ( const string &  name,
unsigned long  chunkSizeK 
) [pure virtual]

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

Parameters:
name name of software raid device (e.g. /dev/md0)
chunkSizeK new chunk size of the software raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMdParity ( const string &  name,
MdParity  ptype 
) [pure virtual]

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

Parameters:
name name of software raid device (e.g. /dev/md0)
ptype new parity of the software raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMdType ( const string &  name,
MdType  rtype 
) [pure virtual]

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

Parameters:
name name of software raid device (e.g. /dev/md0)
rtype new raid personality of the software raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMkfsOptVolume ( const string &  device,
const string &  opts 
) [pure virtual]

Sets the value of mkfs options.

Parameters:
device name of volume, e.g. /dev/hda1
opts options for mkfs command
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMountBy ( const string &  device,
MountByType  mby 
) [pure virtual]

Changes mount by value in fstab of a volume

Parameters:
device name of volume, e.g. /dev/hda1
mby new mount by value of the volume.
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeMountPoint ( const string &  device,
const string &  mount 
) [pure virtual]

Changes the mount point of a volume

Parameters:
device name of volume, e.g. /dev/hda1
mount new 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
virtual int storage::StorageInterface::changePartitionId ( const string &  partition,
unsigned  id 
) [pure virtual]

Change partition id of a partition

Parameters:
partition name of partition, e.g. /dev/hda1
id new partition id (e.g. 0x82 swap, 0x8e for lvm, ...)
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::changeTunefsOptVolume ( const string &  device,
const string &  opts 
) [pure virtual]

Sets the value of tunefs options.

Parameters:
device name of volume, e.g. /dev/hda1
opts options for tunefs command
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::checkBackupState ( const string &  name  )  const [pure virtual]

Checks if a backup with a certain name already exists

Parameters:
name name of the backup to check
Returns:
true if the backup exists
virtual bool storage::StorageInterface::checkDeviceMounted ( const string &  device,
list< string > &  mps 
) [pure virtual]

Determine if the given device is known and mounted somewhere

Parameters:
device device name to check (checks also all alias names)
mps set to current mount points if mounted
Returns:
bool that is true if device is mounted
virtual bool storage::StorageInterface::checkDmMapsTo ( const string &  device  )  [pure virtual]

Check if there are dm maps to a given device

Parameters:
device device name for which dm maps should be checked
Returns:
bool true if there are map to device
virtual int storage::StorageInterface::checkMd ( const string &  name  )  [pure virtual]

Check if a raid device is valid

Parameters:
name name of software raid device (e.g. /dev/md0)
Returns:
true if all is ok, a false to indicate an error
virtual int storage::StorageInterface::checkNfsDevice ( const string &  nfsDev,
const string &  opts,
bool  nfs4,
unsigned long long &  sizeK 
) [pure virtual]

Check accessibility and size of nfs device.

Parameters:
nfsDev name of nfs device
opts mount options for nfs mount
nfs4 use NFS4 for device
sizeK size of the nfs device
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::commit (  )  [pure virtual]

Commit the current state to the system. Only useful in caching mode.

virtual int storage::StorageInterface::computeMdSize ( MdType  md_type,
const list< string > &  devices,
unsigned long long &  sizeK 
) [pure 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_type raid type of the software raid
devices list with physical devices for the software raid
sizeK will contain the computed size in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createBackupState ( const string &  name  )  [pure virtual]

Create backup of current state of all containers

Parameters:
name name under which the backup should be created
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createFileLoop ( const string &  lname,
bool  reuseExisting,
unsigned long long  sizeK,
const string &  mp,
const string &  pwd,
string &  device 
) [pure virtual]

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

Parameters:
lname name of file the loop device is based on
reuseExisting if 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.
sizeK size of the created file, this parameter is ignored if reuseExisting is true and a file already exists.
mp mount point of the file based loop device
pwd crypt password for the loop device, encryption type is determined automatically by the system
device the name of the created loop device
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createLvmLv ( const string &  vg,
const string &  name,
unsigned long long  sizeK,
unsigned  stripes,
string &  device 
) [pure virtual]

Create a LVM logical volume

Parameters:
vg name of volume group
name of logical volume
sizeK size of logical volume in kilobytes
stripes stripe count of logical volume (use 1 unless you know exactly what you are doing)
device is set to the device name of the new LV
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createLvmLvSnapshot ( const string &  vg,
const string &  origin,
const string &  name,
unsigned long long  cowSizeK,
string &  device 
) [pure virtual]

Create a LVM logical volume snapshot

Parameters:
vg name of volume group
origin name of logical volume origin
name of logical volume snapshot
cowSizeK size of snapshot in kilobytes
device is set to the device name of the new snapshot
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createLvmVg ( const string &  name,
unsigned long long  peSizeK,
bool  lvm1,
const deque< string > &  devs 
) [pure virtual]

Create a LVM volume group

Parameters:
name name of volume group, must not contain blanks, colons and shell special characters (e.g. system)
peSizeK physical extent size in kilobytes
lvm1 flag if lvm1 compatible format should be used
devs list with physical devices to add to that volume group
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createMd ( const string &  name,
MdType  rtype,
const deque< string > &  devs 
) [pure virtual]

Create a Software raid device by name

Parameters:
name name of software raid device to create (e.g. /dev/md0)
rtype raid personality of the new software raid
devs list with physical devices for the new software raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createMdAny ( MdType  rtype,
const deque< string > &  devs,
string &  device 
) [pure virtual]

Create a Software raid device. Name determined by library.

Parameters:
rtype raid personality of the new software raid
devs list with physical devices for the new software raid
device device name of created software raid device
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::createPartition ( const string &  disk,
PartitionType  type,
unsigned long  startCyl,
unsigned long  sizeCyl,
string &  device 
) [pure virtual]

Create a new partition. Units given in disk cylinders.

Parameters:
disk device name of disk, e.g. /dev/hda
type type of partition to create, e.g. primary or extended
startCyl cylinder number of partition start (cylinders are numbered starting with 0)
sizeCyl size of partition in disk cylinders
device is 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
virtual int storage::StorageInterface::createPartitionAny ( const string &  disk,
unsigned long long  sizeK,
string &  device 
) [pure virtual]

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

Parameters:
disk device name of disk, e.g. /dev/hda
sizeK size of partition in kilobytes
device is 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
virtual int storage::StorageInterface::createPartitionKb ( const string &  disk,
PartitionType  type,
unsigned long long  startK,
unsigned long long  sizeK,
string &  device 
) [pure virtual]

Create a new partition. Units given in Kilobytes.

Parameters:
disk device name of disk, e.g. /dev/hda
type type of partition to create, e.g. primary or extended
startK offset in kilobytes from start of disk
sizeK size of partition in kilobytes
device is 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
virtual int storage::StorageInterface::createPartitionMax ( const string &  disk,
PartitionType  type,
string &  device 
) [pure virtual]

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

Parameters:
disk device name of disk, e.g. /dev/hda
type type of partition to create, e.g. primary or extended
device is 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
virtual unsigned long long storage::StorageInterface::cylinderToKb ( const string &  disk,
unsigned long  sizeCyl 
) [pure virtual]

Compute number of kilobytes of a given number of disk cylinders

Parameters:
disk device name of disk, e.g. /dev/hda
sizeCyl number of disk cylinders
Returns:
number of kilobytes of given cylinders
virtual string storage::StorageInterface::defaultDiskLabel ( const string &  device  )  [pure virtual]

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

Parameters:
device device of disk
Returns:
default disk label of the disk
virtual int storage::StorageInterface::destroyPartitionTable ( const string &  disk,
const string &  label 
) [pure virtual]

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

Parameters:
disk device name of disk, e.g. /dev/hda
label disk label to create on disk, e.g. msdos, gpt, ...
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::dumpCommitInfos (  )  const [pure virtual]

Dump list of commit actions to log file.

virtual void storage::StorageInterface::dumpObjectList (  )  [pure virtual]

Dump list of all objects to log file.

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

Compare two backup states

Parameters:
lhs name of backup to compare, empty string means active state
rhs name of backup to compare, empty string means active state
verbose_log flag if differences should be logged in detail
Returns:
true if states are equal
virtual int storage::StorageInterface::extendLvmVg ( const string &  name,
const deque< string > &  devs 
) [pure virtual]

Extend a LVM volume group with additional physical devices

Parameters:
name name of volume group
devs list with physical devices to add to that volume group
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::extendMd ( const string &  name,
const string &  dev 
) [pure virtual]

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

Parameters:
name name of software raid device (e.g. /dev/md0)
dev partition to add to that raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::forgetChangePartitionId ( const string &  partition  )  [pure virtual]

Forget previously issued change of partition id

Parameters:
partition name of partition, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::forgetCryptPassword ( const string &  device  )  [pure virtual]

Makes library forget a crypt password of a volume

Parameters:
device name of volume, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::forgetResizeVolume ( const string &  device  )  [pure virtual]

Forget about possible resize of an volume.

Parameters:
device device name of volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::freeCylindersAroundPartition ( const string &  device,
unsigned long &  freeCylsBefore,
unsigned long &  freeCylsAfter 
) [pure virtual]

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

Parameters:
device device name of partition, e.g. /dev/sda1
freeCylsBefore is set to the number of free cylinders before the partition
freeCylsAfter is set to the number of free cylinders after the partition
Returns:
zero if all is ok, a negative number to indicate an error
virtual list<string> storage::StorageInterface::getAllUsedFs (  )  const [pure virtual]

Get list of filesystem types present on any block devices.

virtual CallbackCommitErrorPopup storage::StorageInterface::getCallbackCommitErrorPopup (  )  const [pure virtual]

Query the callback function called for errors during commit.

Returns:
pointer to function currently called for progress bar events
virtual CallbackInfoPopup storage::StorageInterface::getCallbackInfoPopup (  )  const [pure virtual]

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

Returns:
pointer to function currently called for progress bar events
virtual CallbackPasswordPopup storage::StorageInterface::getCallbackPasswordPopup (  )  const [pure virtual]

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

Returns:
pointer to function currently called for password queries.
virtual CallbackProgressBar storage::StorageInterface::getCallbackProgressBar (  )  const [pure virtual]

Query the callback function called on progress bar events

Returns:
pointer to function currently called for progress bar events
virtual CallbackShowInstallInfo storage::StorageInterface::getCallbackShowInstallInfo (  )  const [pure virtual]

Query the callback function called to display install info

Returns:
pointer to function currently called for progress bar events
virtual CallbackYesNoPopup storage::StorageInterface::getCallbackYesNoPopup (  )  const [pure 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
virtual void storage::StorageInterface::getCommitInfos ( list< CommitInfo > &  infos  )  const [pure virtual]

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

Parameters:
infos list of records that gets filled with infos
virtual void storage::StorageInterface::getContainers ( deque< ContainerInfo > &  infos  )  [pure virtual]

Query all containers found in system

virtual int storage::StorageInterface::getContDiskInfo ( const string &  disk,
ContainerInfo cinfo,
DiskInfo info 
) [pure virtual]

Query disk info for a disk device

Parameters:
disk device name of disk, e.g. /dev/hda
cinfo record that gets filled with container general data
info record that gets filled with disk special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getContDmmultipathCoInfo ( const string &  name,
ContainerInfo cinfo,
DmmultipathCoInfo info 
) [pure virtual]

Query container info for a DMMULTIPATH container

Parameters:
name name of container, e.g. 3600508b400105f590000900000300000
cinfo record that gets filled with container general data
info record that gets filled with DMMULTIPATH Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getContDmraidCoInfo ( const string &  name,
ContainerInfo cinfo,
DmraidCoInfo info 
) [pure virtual]

Query container info for a DMRAID container

Parameters:
name name of container, e.g. pdc_ccaihgii
cinfo record that gets filled with container general data
info record that gets filled with DMRAID Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getContLvmVgInfo ( const string &  name,
ContainerInfo cinfo,
LvmVgInfo info 
) [pure virtual]

Query info for a LVM volume group

Parameters:
name name of volume group, e.g. system
cinfo record that gets filled with container general data
info record that gets filled with LVM VG special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getContMdPartCoInfo ( const string &  name,
ContainerInfo cinfo,
MdPartCoInfo info 
) [pure virtual]

Query container info for a MDPART container

Parameters:
name name of container, e.g. md126
cinfo record that gets filled with container general data
info record that gets filled with MDPART Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getContVolInfo ( const string &  dev,
ContVolInfo info 
) [pure 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:
dev device name of volume, e.g. /dev/hda1
info record that get filled with split data
Returns:
zero if all is ok, negative number to indicate an error
virtual int storage::StorageInterface::getCrypt ( const string &  device,
bool &  val 
) [pure virtual]

Get encryption state of a volume

Parameters:
device name of volume, e.g. /dev/hda1
val will be set if encryption is activated
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getCryptPassword ( const string &  device,
string &  pwd 
) [pure virtual]

Get crypt password of a volume

Parameters:
device name of volume, e.g. /dev/hda1
pwd crypt password for this volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual FsType storage::StorageInterface::getDefaultFs (  )  const [pure virtual]

Get default filesystem.

Returns:
default filesystem.
virtual MountByType storage::StorageInterface::getDefaultMountBy (  )  const [pure virtual]

Get default value for mount by.

Returns:
default value for mount by
virtual bool storage::StorageInterface::getDetectMountedVolumes (  )  const [pure virtual]

Get value of the flag for detection of mounted volumes.

Returns:
value of the flag for detection of mounted volumes
virtual int storage::StorageInterface::getDiskInfo ( const string &  disk,
DiskInfo info 
) [pure virtual]

Query disk info for a disk device

Parameters:
disk device name of disk, e.g. /dev/hda
info record that get filled with disk special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::getDlabelCapabilities ( const string &  dlabel,
DlabelCapabilities dlabelcapabilities 
) const [pure virtual]

Query capabilities of a disk label.

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

Query infos for dm devices in system

Parameters:
plist list of records that get filled with dm specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getDmmultipathCoInfo ( const string &  name,
DmmultipathCoInfo info 
) [pure virtual]

Query container info for a DMMULTIPATH container

Parameters:
name name of container, e.g. 3600508b400105f590000900000300000
info record that gets filled with DMMULTIPATH Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getDmmultipathInfo ( const string &  name,
deque< DmmultipathInfo > &  plist 
) [pure virtual]

Query infos for dmmultipath devices in system

Parameters:
plist list of records that get filled with dmmultipath specific info
name name of dmmultipath, e.g. 3600508b400105f590000900000300000
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getDmraidCoInfo ( const string &  name,
DmraidCoInfo info 
) [pure virtual]

Query container info for a DMRAID container

Parameters:
name name of container, e.g. pdc_ccaihgii
info record that gets filled with DMRAID Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getDmraidInfo ( const string &  name,
deque< DmraidInfo > &  plist 
) [pure virtual]

Query infos for dmraid devices in system

Parameters:
plist list of records that get filled with dmraid specific info
name name of dmraid, e.g. pdc_igeeeadj
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::getEfiBoot (  )  [pure virtual]

Get value for EFI boot.

Returns:
value for efi boot
virtual string storage::StorageInterface::getErrorString ( int  error  )  const [pure virtual]

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

virtual const string& storage::StorageInterface::getExtendedErrorMessage (  )  const [pure virtual]

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

Returns:
string error text provided by external program
virtual bool storage::StorageInterface::getFreeInfo ( const string &  device,
bool  get_resize,
ResizeInfo resize_info,
bool  get_content,
ContentInfo content_info,
bool  use_cache 
) [pure virtual]

Detect potentially available free space on a partition

Parameters:
device device to check
get_resize flag to indicate that resize_info should be queried
resize_info struct that gets filled with resize info
get_content flag to indicate that content_info should be queried
content_info struct that gets filled with content info
use_cache function should return cached data if available
Returns:
bool if values could be successfully determined
virtual bool storage::StorageInterface::getFsCapabilities ( FsType  fstype,
FsCapabilities fscapabilities 
) const [pure virtual]

Query capabilities of a filesystem type.

virtual int storage::StorageInterface::getFstabOptions ( const string &  device,
string &  options 
) [pure virtual]

Get the fstab options of a volume

Parameters:
device name of volume, e.g. /dev/hda1
options will 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
virtual int storage::StorageInterface::getIgnoreFstab ( const string &  device,
bool &  val 
) [pure virtual]

Get fstab handling state of a volume.

Parameters:
device name of volume, e.g. /dev/hda1
val will be set if fstab should be ignored for this volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual ImsmDriver storage::StorageInterface::getImsmDriver (  )  const [pure virtual]

Query which driver is used for IMSM Software RAIDs.

Returns:
driver used for IMSM Software RAIDs.
virtual const string& storage::StorageInterface::getLastAction (  )  const [pure virtual]

Gets action performed last during previous call to commit()

Returns:
string presentable to the user
virtual int storage::StorageInterface::getLoopInfo ( deque< LoopInfo > &  plist  )  [pure virtual]

Query infos for file based loop devices in system

Parameters:
plist list of records that get filled with loop specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getLvmLvInfo ( const string &  name,
deque< LvmLvInfo > &  plist 
) [pure virtual]

Query infos for LVM LVs of a LVM VG

Parameters:
name name of volume group, e.g. system
plist list of records that get filled with LV specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getLvmLvSnapshotStateInfo ( const string &  vg,
const string &  name,
LvmLvSnapshotStateInfo info 
) [pure virtual]

Get state of a LVM logical volume snapshot

Precondition:
This can only be done after the snapshot has been created on disk.
Parameters:
vg name of volume group
name name of logical volume snapshot
info record that gets filled with snapshot special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getLvmVgInfo ( const string &  name,
LvmVgInfo info 
) [pure virtual]

Query info for a LVM volume group

Parameters:
name name of volume group, e.g. system
info record that gets filled with LVM VG special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMdInfo ( deque< MdInfo > &  plist  )  [pure virtual]

Query infos for software raid devices in system

Parameters:
plist list of records that get filled with MD specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMdPartCoInfo ( const string &  name,
MdPartCoInfo info 
) [pure virtual]

Query container info for a MDPART container

Parameters:
name name of container, e.g. md126
info record that gets filled with MDPART Container special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMdPartCoStateInfo ( const string &  name,
MdPartCoStateInfo info 
) [pure virtual]

Get state of a MD software raid device.

Precondition:
This can only be done after the raid has been created on disk.
Parameters:
name name of software raid device (e.g. /dev/md125)
info record that gets filled with raid special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMdPartInfo ( const string &  device,
deque< MdPartInfo > &  plist 
) [pure virtual]

Query infos for partitions on raid device in system

Parameters:
device device name of the parent MdPartCo, e.g. /dev/md125
plist list of records that get filled with MdPart specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMdStateInfo ( const string &  name,
MdStateInfo info 
) [pure virtual]

Get state of a raid device.

Precondition:
This can only be done after the raid has been created on disk.
Parameters:
name name of software raid device (e.g. /dev/md0)
info record that gets filled with raid special data
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMountBy ( const string &  device,
MountByType &  mby 
) [pure virtual]

Get mount by value in fstab of a volume

Parameters:
device name of volume, e.g. /dev/hda1
mby will be set to the mount by value of the volume.
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getMountPoint ( const string &  device,
string &  mount 
) [pure virtual]

Get the mount point of a volume

Parameters:
device name of volume, e.g. /dev/hda1
mount will 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
virtual int storage::StorageInterface::getNfsInfo ( deque< NfsInfo > &  plist  )  [pure virtual]

Query infos for nfs devices in system

Parameters:
plist list of records that get filled with nfs info
Returns:
zero if all is ok, a negative number to indicate an error
virtual PartAlign storage::StorageInterface::getPartitionAlignment (  )  const [pure virtual]

Get value for the alignment of newly created partitions

Returns:
value for the alignment
virtual int storage::StorageInterface::getPartitionInfo ( const string &  disk,
deque< PartitionInfo > &  plist 
) [pure virtual]

Query infos for partitions of a disk

Parameters:
disk device name of disk, e.g. /dev/hda
plist list of records that get filled with partition specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual string storage::StorageInterface::getPartitionName ( const string &  disk,
int  partition_no 
) [pure virtual]

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

Parameters:
disk name of disk, e.g. /dev/sda
partition_no number of partition, e.g. 1
Returns:
device name of partition, e.g. /dev/sda1
virtual string storage::StorageInterface::getPartitionPrefix ( const string &  disk  )  [pure virtual]

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

Parameters:
disk name of disk, e.g. /dev/sda
Returns:
prefix for partitions, e.g. "", "p" or "_part"
virtual bool storage::StorageInterface::getRecursiveRemoval (  )  const [pure virtual]

Get value of the flag for recursive removal

Returns:
value of the flag for recursive removal
virtual int storage::StorageInterface::getRecursiveUsing ( const string &  device,
list< string > &  devices 
) [pure virtual]

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

Parameters:
device name of device, e.g. /dev/sda
devices name of devices using device, e.g. /dev/sda1 /dev/sda2
Returns:
zero if all is ok, a negative number to indicate an error
virtual string storage::StorageInterface::getRootPrefix (  )  const [pure virtual]

Get value for root prefix.

Returns:
value for root prefix
virtual int storage::StorageInterface::getUnusedPartitionSlots ( const string &  disk,
list< PartitionSlotInfo > &  slots 
) [pure virtual]

Query unused slots on a disk suitable for creating partitions.

Parameters:
disk name of disk, e.g. /dev/hda1
slots list of records that get filled with partition slot specific info
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::getVolume ( const string &  device,
VolumeInfo info 
) [pure virtual]

Query a volume by device name found in system

Parameters:
device device name , e.g. /dev/hda1
info record that gets filled with data
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::getVolumes ( deque< VolumeInfo > &  infos  )  [pure virtual]

Query all volumes found in system

Parameters:
infos list of records that get filled with volume info
virtual bool storage::StorageInterface::getZeroNewPartitions (  )  const [pure virtual]

Get value of the flag for zeroing newly created partitions

Returns:
value of the flag for zeroing newly created partitions
virtual int storage::StorageInterface::initializeDisk ( const string &  disk,
bool  value 
) [pure 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:
disk device name of disk, e.g. /dev/hda
value toggle if disk should be initialized or not
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::isCacheChanges (  )  const [pure virtual]

Query the caching mode.

virtual unsigned long storage::StorageInterface::kbToCylinder ( const string &  disk,
unsigned long long  sizeK 
) [pure virtual]

Compute number of disk cylinders needed for given space

Parameters:
disk device name of disk, e.g. /dev/hda
sizeK number of kilobytes
Returns:
number of disk cylinders needed
virtual int storage::StorageInterface::modifyFileLoop ( const string &  device,
const string &  lname,
bool  reuseExisting,
unsigned long long  sizeK 
) [pure 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:
device device name of the loop device
lname name of file the loop device is based on
reuseExisting if 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.
sizeK size 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
virtual bool storage::StorageInterface::mountDevice ( const string &  device,
const string &  mp 
) [pure 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:
device device name to mount
mp mount point to mount to
Returns:
bool if mount succeeded
virtual bool storage::StorageInterface::mountDeviceOpts ( const string &  device,
const string &  mp,
const string &  opts 
) [pure 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:
device device name to mount
mp mount point to mount to
opts options to use for mount
Returns:
bool if mount succeeded
virtual bool storage::StorageInterface::mountDeviceRo ( const string &  device,
const string &  mp,
const string &  opts 
) [pure 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:
device device name to mount
mp mount point to mount to
opts options to use for mount
Returns:
bool if mount succeeded
virtual bool storage::StorageInterface::needCryptPassword ( const string &  device  )  [pure virtual]

Check if crypt password is required

Parameters:
device name of volume, e.g. /dev/hda1
Returns:
true if password is required, false otherwise
virtual int storage::StorageInterface::nextFreeMd ( unsigned &  nr,
string &  device 
) [pure virtual]

Determine the device name of the next created software raid device

Parameters:
nr is set to the number of the next created software raid device
device is 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
virtual int storage::StorageInterface::nextFreePartition ( const string &  disk,
PartitionType  type,
unsigned &  nr,
string &  device 
) [pure virtual]

Determine the device name of the next created partition

Parameters:
disk device name of disk, e.g. /dev/hda
type type of partition to create, e.g. primary or extended
nr is set to the number of the next created partition
device is set to the device name of the next created partition
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::readFstab ( const string &  dir,
deque< VolumeInfo > &  infos 
) [pure virtual]

Read fstab and cryptotab, if existent, from a specified directory and return the volumes found in fstab and cryptotab

Parameters:
dir directory where fstab and cryptotab are read from
infos list of records that get filled with volume info
virtual int storage::StorageInterface::removeBackupState ( const string &  name  )  [pure virtual]

Remove existing backup state

Parameters:
name name 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
virtual int storage::StorageInterface::removeDmraid ( const string &  name  )  [pure virtual]

Remove a Software raid device.

Parameters:
name name of dmraid device to remove (e.g. pdc_dabaheedj)
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::removeDmTableTo ( const string &  device  )  [pure virtual]

Remove all possibly existing dm maps to a given device

Parameters:
device device name for which dm maps should be removed
virtual int storage::StorageInterface::removeFileLoop ( const string &  lname,
bool  removeFile 
) [pure virtual]

Remove a file based loop device from the system.

Parameters:
lname name of file the loop device is based on
removeFile if 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
virtual int storage::StorageInterface::removeFstabOptions ( const string &  device,
const string &  options 
) [pure virtual]

Remove from the fstab options of a volume

Parameters:
device name of volume, e.g. /dev/hda1
options fstab 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
virtual int storage::StorageInterface::removeLvmLv ( const string &  vg,
const string &  name 
) [pure virtual]

Remove a LVM logical volume

Parameters:
vg name of volume group
name of logical volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::removeLvmLvByDevice ( const string &  device  )  [pure virtual]

Remove a LVM logical volume

Parameters:
device name of logical volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::removeLvmLvSnapshot ( const string &  vg,
const string &  name 
) [pure virtual]

Remove a LVM logical volume snapshot

Parameters:
vg name of volume group
name name of logical volume snapshot
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::removeLvmVg ( const string &  name  )  [pure virtual]

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

Parameters:
name name of volume group
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::removeMd ( const string &  name,
bool  destroySb 
) [pure virtual]

Remove a Software raid device.

Parameters:
name name of software raid device to remove (e.g. /dev/md0)
destroySb flag 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
virtual int storage::StorageInterface::removeMdPartCo ( const string &  name,
bool  destroySb 
) [pure virtual]

Remove a Partitionable Software raid device.

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

Parameters:
name name of software raid device to remove (e.g. /dev/md0)
destroySb flag 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
virtual int storage::StorageInterface::removePartition ( const string &  partition  )  [pure virtual]

Remove a partition

Parameters:
partition name of partition, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::removeVolume ( const string &  device  )  [pure virtual]

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

Parameters:
device name of volume, e.g. /dev/hda1
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::rescanCryptedObjects (  )  [pure 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
virtual void storage::StorageInterface::rescanEverything (  )  [pure 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.

virtual int storage::StorageInterface::resizePartition ( const string &  device,
unsigned long  sizeCyl 
) [pure virtual]

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

Parameters:
device device name of partition
sizeCyl new size of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::resizePartitionNoFs ( const string &  device,
unsigned long  sizeCyl 
) [pure virtual]

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

Parameters:
device device name of partition
sizeCyl new size of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::resizeVolume ( const string &  device,
unsigned long long  newSizeK 
) [pure virtual]

Resizes a volume while keeping the data on the filesystem

Parameters:
device name of volume, e.g. /dev/hda1
newSizeK new size desired volume in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::resizeVolumeNoFs ( const string &  device,
unsigned long long  newSizeK 
) [pure virtual]

Resizes a volume while ignoring the data on the filesystem

Parameters:
device name of volume, e.g. /dev/hda1
newSizeK new size desired volume in kilobytes
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::restoreBackupState ( const string &  name  )  [pure virtual]

Restore state to a previously created backup

Parameters:
name name of the backup to restore
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::setCacheChanges ( bool  cache  )  [pure 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.

virtual void storage::StorageInterface::setCallbackCommitErrorPopup ( CallbackCommitErrorPopup  pfnc  )  [pure virtual]

Sets the callback function called for errors during commit.

Parameters:
pfnc pointer to function
virtual void storage::StorageInterface::setCallbackInfoPopup ( CallbackInfoPopup  pfnc  )  [pure virtual]

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

Parameters:
pfnc pointer to function
virtual void storage::StorageInterface::setCallbackPasswordPopup ( CallbackPasswordPopup  pfnc  )  [pure virtual]

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

Parameters:
pfnc pointer to function.
virtual void storage::StorageInterface::setCallbackProgressBar ( CallbackProgressBar  pfnc  )  [pure virtual]

Sets the callback function called on progress bar events

Parameters:
pfnc pointer to function
virtual void storage::StorageInterface::setCallbackShowInstallInfo ( CallbackShowInstallInfo  pfnc  )  [pure virtual]

Sets the callback function called to display install info

Parameters:
pfnc pointer to function
virtual void storage::StorageInterface::setCallbackYesNoPopup ( CallbackYesNoPopup  pfnc  )  [pure virtual]

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

Parameters:
pfnc pointer to function
virtual int storage::StorageInterface::setCrypt ( const string &  device,
bool  val 
) [pure virtual]

Set encryption state of a volume

Parameters:
device name of volume, e.g. /dev/hda1
val flag if encryption should be activated
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::setCryptPassword ( const string &  device,
const string &  pwd 
) [pure virtual]

Set crypt password of a volume

Parameters:
device name of volume, e.g. /dev/hda1
pwd crypt password for this volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::setCryptType ( const string &  device,
bool  val,
EncryptType  typ 
) [pure virtual]

Set encryption state of a volume

Parameters:
device name of volume, e.g. /dev/hda1
val flag if encryption should be activated
typ type of encryption to set up
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::setDefaultFs ( FsType  val  )  [pure virtual]

Set default filesystem.

Parameters:
val new default filesystem.
virtual void storage::StorageInterface::setDefaultMountBy ( MountByType  val  )  [pure virtual]

Set default value for mount by.

Parameters:
val new default mount by value.
virtual void storage::StorageInterface::setDetectMountedVolumes ( bool  val  )  [pure virtual]

Determine of libstorage should detect mounted volumes.

Parameters:
val flag if mounted volumes should be detected
virtual void storage::StorageInterface::setEfiBoot ( bool  val  )  [pure virtual]

Set value for EFI boot.

Currently this value affects the default disk label.

Parameters:
val new efi boot value
virtual int storage::StorageInterface::setIgnoreFstab ( const string &  device,
bool  val 
) [pure 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:
device name of volume, e.g. /dev/hda1
val flag if fstab should be ignored for this volume
Returns:
zero if all is ok, a negative number to indicate an error
virtual void storage::StorageInterface::setImsmDriver ( ImsmDriver  driver  )  [pure virtual]

Set which driver should be used for IMSM Software RAIDs.

Parameters:
driver driver to use for IMSM Software RAIDs.
virtual void storage::StorageInterface::setPartitionAlignment ( PartAlign  val  )  [pure 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:
val value of new alignment type
virtual void storage::StorageInterface::setRecursiveRemoval ( bool  val  )  [pure 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:
val flag if removal is done recursive
virtual void storage::StorageInterface::setRootPrefix ( const string &  root  )  [pure 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:
root new value for root prefix
virtual void storage::StorageInterface::setZeroNewPartitions ( bool  val  )  [pure 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:
val flag if newly created partitions should be zeroed
virtual int storage::StorageInterface::shrinkLvmVg ( const string &  name,
const deque< string > &  devs 
) [pure virtual]

Shrink a LVM volume group

Parameters:
name name of volume group
devs list with physical devices to remove from that volume group
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::shrinkMd ( const string &  name,
const string &  dev 
) [pure virtual]

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

Parameters:
name name of software raid device (e.g. /dev/md0)
dev partition to remove from that raid
Returns:
zero if all is ok, a negative number to indicate an error
virtual bool storage::StorageInterface::umountDevice ( const string &  device  )  [pure virtual]

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

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

Parameters:
device device name to umount
Returns:
bool if umount succeeded
virtual int storage::StorageInterface::updatePartitionArea ( const string &  device,
unsigned long  startCyl,
unsigned long  sizeCyl 
) [pure 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:
device device name of partition, e.g. /dev/hda1
startCyl cylinder number of partition start (cylinders are numbered starting with 0)
sizeCyl size of partition in disk cylinders
Returns:
zero if all is ok, a negative number to indicate an error
virtual int storage::StorageInterface::verifyCryptPassword ( const string &  device,
const string &  pwd,
bool  erase 
) [pure virtual]

Verify password of a volume

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

The documentation for this class was generated from the following file:
Generated on Sat Jul 10 19:58:44 2010 for libstorage by  doxygen 1.6.3