storage::DmPartCo Class Reference

#include <DmPartCo.h>

Inheritance diagram for storage::DmPartCo:

storage::PeContainer storage::Container storage::DmraidCo

List of all members.

Public Member Functions

 DmPartCo (Storage *const s, const string &Name, storage::CType t, ProcPart &ppart)
 DmPartCo (const DmPartCo &rhs)
virtual ~DmPartCo ()
unsigned long long sizeK () const
unsigned isValid () const
const string & labelName () const
const string & udevPath () const
const std::list< string > & udevId () const
unsigned numPartitions () const
void setUdevData (const string &id)
int createPartition (storage::PartitionType type, long unsigned start, long unsigned len, string &device, bool checkRelaxed=false)
int createPartition (long unsigned len, string &device, bool checkRelaxed=false)
int createPartition (storage::PartitionType type, string &device)
int removePartition (unsigned nr)
int changePartitionId (unsigned nr, unsigned id)
int forgetChangePartitionId (unsigned nr)
int changePartitionArea (unsigned nr, unsigned long start, unsigned long size, bool checkRelaxed=false)
int nextFreePartition (storage::PartitionType type, unsigned &nr, string &device)
int destroyPartitionTable (const string &new_label)
unsigned availablePartNumber (storage::PartitionType type=storage::PRIMARY)
int resizePartition (DmPart *p, unsigned long newCyl)
int resizeVolume (Volume *v, unsigned long long newSize)
int removeVolume (Volume *v)
int removeDmPart ()
void getUnusedSpace (std::list< Region > &free, bool all=true, bool logical=false)
bool hasExtended () const
unsigned long long cylinderToKb (unsigned long val) const
unsigned long kbToCylinder (unsigned long long val) const
string getPartName (unsigned nr) const
virtual void getCommitActions (std::list< storage::commitAction * > &l) const
virtual int getToCommit (storage::CommitStage stage, std::list< Container * > &col, std::list< Volume * > &vol)
virtual int commitChanges (storage::CommitStage stage)
int commitChanges (storage::CommitStage stage, Volume *vol)
PartitiongetPartition (unsigned nr, bool del)
void getInfo (storage::DmPartCoInfo &info) const
bool equalContent (const DmPartCo &rhs) const
virtual string getDiffString (const Container &d) const
void logDifference (const DmPartCo &d) const
DmPartCooperator= (const DmPartCo &rhs)
string numToName (unsigned num) const

Static Public Member Functions

static storage::CType staticType ()
static string undevName (const string &name)

Protected Types

typedef CastIterator< VIter,
DmPart * > 
DmPartInter
typedef CastIterator< CVIter,
const DmPart * > 
DmPartCInter
typedef CheckFnc< const DmPartCheckFncDmPart
typedef CheckerIterator
< CheckFncDmPart, DmPartPI
< CheckFncDmPart >::type,
DmPartInter, DmPart
DmPartPIterator
typedef CheckerIterator
< CheckFncDmPart, DmPartCPI
< CheckFncDmPart >::type,
DmPartCInter, const DmPart
DmPartCPIterator
typedef DerefIterator
< DmPartPIterator, DmPart
DmPartIter
typedef DerefIterator
< DmPartCPIterator, const
DmPart
ConstDmPartIter
typedef IterPair< DmPartIterDmPartPair
typedef IterPair< ConstDmPartIterConstDmPartPair

Protected Member Functions

DmPartPair dmpartPair (bool(*CheckDmPart)(const DmPart &)=NULL)
DmPartIter dmpartBegin (bool(*CheckDmPart)(const DmPart &)=NULL)
DmPartIter dmpartEnd (bool(*CheckDmPart)(const DmPart &)=NULL)
ConstDmPartPair dmpartPair (bool(*CheckDmPart)(const DmPart &)=NULL) const
ConstDmPartIter dmpartBegin (bool(*CheckDmPart)(const DmPart &)=NULL) const
ConstDmPartIter dmpartEnd (bool(*CheckDmPart)(const DmPart &)=NULL) const
 DmPartCo (Storage *const s, const string &File)
virtual void print (std::ostream &s) const
virtual ContainergetCopy () const
void activate_part (bool val)
void init (ProcPart &ppart)
void createDisk (ProcPart &ppart)
void getVolumes (ProcPart &ppart)
void updatePointers (bool invalid=false)
void updateMinor ()
virtual void newP (DmPart *&dm, unsigned num, Partition *p)
int addNewDev (string &device)
int updateDelDev ()
void handleWholeDevice ()
void removeFromMemory ()
void removePresentPartitions ()
bool validPartition (const Partition *p)
bool findDm (unsigned nr, DmPartIter &i)
int doCreate (Volume *v)
int doRemove (Volume *v)
int doResize (Volume *v)
int doSetType (DmPart *v)
int doCreateLabel ()
virtual int doRemove ()
virtual string removeText (bool doing) const
virtual string setDiskLabelText (bool doing) const
void logData (const string &Dir)

Static Protected Member Functions

static bool partNotDeleted (const DmPart &d)

Protected Attributes

string udev_path
std::list< string > udev_id
string logfile_name
string sysfs_dir
Diskdisk
bool active
bool valid
bool del_ptable
unsigned num_part
storage::DmPartCoInfo info

Friends

class Storage
std::ostream & operator<< (std::ostream &, const DmPartCo &)

Classes

struct  DmPartCPI
struct  DmPartPI


Member Typedef Documentation


Constructor & Destructor Documentation

DmPartCo::DmPartCo ( Storage *const   s,
const string &  Name,
storage::CType  t,
ProcPart ppart 
)

DmPartCo::DmPartCo ( const DmPartCo rhs  ) 

DmPartCo::~DmPartCo (  )  [virtual]

storage::DmPartCo::DmPartCo ( Storage *const   s,
const string &  File 
) [protected]


Member Function Documentation

unsigned long long storage::DmPartCo::sizeK (  )  const [inline]

Reimplemented from storage::PeContainer.

References storage::Container::size_k.

unsigned storage::DmPartCo::isValid (  )  const [inline]

References valid.

Referenced by storage::Storage::detectDmraid().

const string& storage::DmPartCo::labelName (  )  const [inline]

const string& storage::DmPartCo::udevPath (  )  const [inline]

References udev_path.

const std::list<string>& storage::DmPartCo::udevId (  )  const [inline]

References udev_id.

Referenced by storage::DmPart::addAltUdevId().

unsigned storage::DmPartCo::numPartitions (  )  const [inline]

static storage::CType storage::DmPartCo::staticType (  )  [inline, static]

Reimplemented from storage::Container.

Reimplemented in storage::DmraidCo.

References storage::DMRAID.

void storage::DmPartCo::setUdevData ( const string &  id  ) 

Reimplemented in storage::DmraidCo.

int DmPartCo::createPartition ( storage::PartitionType  type,
long unsigned  start,
long unsigned  len,
string &  device,
bool  checkRelaxed = false 
)

int DmPartCo::createPartition ( long unsigned  len,
string &  device,
bool  checkRelaxed = false 
)

int DmPartCo::createPartition ( storage::PartitionType  type,
string &  device 
)

int DmPartCo::removePartition ( unsigned  nr  ) 

int DmPartCo::changePartitionId ( unsigned  nr,
unsigned  id 
)

int DmPartCo::forgetChangePartitionId ( unsigned  nr  ) 

int DmPartCo::changePartitionArea ( unsigned  nr,
unsigned long  start,
unsigned long  size,
bool  checkRelaxed = false 
)

int DmPartCo::nextFreePartition ( storage::PartitionType  type,
unsigned &  nr,
string &  device 
)

int DmPartCo::destroyPartitionTable ( const string &  new_label  ) 

unsigned storage::DmPartCo::availablePartNumber ( storage::PartitionType  type = storage::PRIMARY  ) 

int DmPartCo::resizePartition ( DmPart p,
unsigned long  newCyl 
)

int DmPartCo::resizeVolume ( Volume v,
unsigned long long  newSize 
) [virtual]

int DmPartCo::removeVolume ( Volume v  )  [virtual]

int DmPartCo::removeDmPart (  ) 

void storage::DmPartCo::getUnusedSpace ( std::list< Region > &  free,
bool  all = true,
bool  logical = false 
)

bool storage::DmPartCo::hasExtended (  )  const

unsigned long long storage::DmPartCo::cylinderToKb ( unsigned long  val  )  const [inline]

unsigned long storage::DmPartCo::kbToCylinder ( unsigned long long  val  )  const [inline]

string storage::DmPartCo::getPartName ( unsigned  nr  )  const

virtual void storage::DmPartCo::getCommitActions ( std::list< storage::commitAction * > &  l  )  const [virtual]

Reimplemented from storage::Container.

virtual int storage::DmPartCo::getToCommit ( storage::CommitStage  stage,
std::list< Container * > &  col,
std::list< Volume * > &  vol 
) [virtual]

Reimplemented from storage::Container.

int DmPartCo::commitChanges ( storage::CommitStage  stage  )  [virtual]

int DmPartCo::commitChanges ( storage::CommitStage  stage,
Volume vol 
) [virtual]

Partition * DmPartCo::getPartition ( unsigned  nr,
bool  del 
)

void DmPartCo::getInfo ( storage::DmPartCoInfo info  )  const

bool DmPartCo::equalContent ( const DmPartCo rhs  )  const

string DmPartCo::getDiffString ( const Container d  )  const [virtual]

void DmPartCo::logDifference ( const DmPartCo d  )  const

DmPartCo& storage::DmPartCo::operator= ( const DmPartCo rhs  ) 

string DmPartCo::undevName ( const string &  name  )  [static]

string DmPartCo::numToName ( unsigned  num  )  const

DmPartPair storage::DmPartCo::dmpartPair ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  [inline, protected]

DmPartIter storage::DmPartCo::dmpartBegin ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  [inline, protected]

DmPartIter storage::DmPartCo::dmpartEnd ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  [inline, protected]

ConstDmPartPair storage::DmPartCo::dmpartPair ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  const [inline, protected]

References dmpartBegin(), and dmpartEnd().

ConstDmPartIter storage::DmPartCo::dmpartBegin ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  const [inline, protected]

ConstDmPartIter storage::DmPartCo::dmpartEnd ( bool(*)(const DmPart &)  CheckDmPart = NULL  )  const [inline, protected]

virtual void storage::DmPartCo::print ( std::ostream &  s  )  const [inline, protected, virtual]

Reimplemented from storage::PeContainer.

Reimplemented in storage::DmraidCo.

virtual Container* storage::DmPartCo::getCopy (  )  const [inline, protected, virtual]

Reimplemented from storage::PeContainer.

Reimplemented in storage::DmraidCo.

References DmPartCo().

void DmPartCo::activate_part ( bool  val  )  [protected]

void DmPartCo::init ( ProcPart ppart  )  [protected]

void DmPartCo::createDisk ( ProcPart ppart  )  [protected]

void DmPartCo::getVolumes ( ProcPart ppart  )  [protected]

void DmPartCo::updatePointers ( bool  invalid = false  )  [protected]

void DmPartCo::updateMinor (  )  [protected]

void DmPartCo::newP ( DmPart *&  dm,
unsigned  num,
Partition p 
) [protected, virtual]

Reimplemented in storage::DmraidCo.

References y2mil.

Referenced by addNewDev(), getVolumes(), and handleWholeDevice().

int DmPartCo::addNewDev ( string &  device  )  [protected]

int DmPartCo::updateDelDev (  )  [protected]

void DmPartCo::handleWholeDevice (  )  [protected]

void DmPartCo::removeFromMemory (  )  [protected]

References storage::Container::vols, and y2mil.

Referenced by doCreateLabel().

void DmPartCo::removePresentPartitions (  )  [protected]

bool DmPartCo::validPartition ( const Partition p  )  [protected]

bool DmPartCo::findDm ( unsigned  nr,
DmPartIter i 
) [protected]

static bool storage::DmPartCo::partNotDeleted ( const DmPart d  )  [inline, static, protected]

int DmPartCo::doCreate ( Volume v  )  [protected, virtual]

int DmPartCo::doRemove ( Volume v  )  [protected, virtual]

int DmPartCo::doResize ( Volume v  )  [protected, virtual]

int DmPartCo::doSetType ( DmPart v  )  [protected]

int DmPartCo::doCreateLabel (  )  [protected]

int DmPartCo::doRemove (  )  [protected, virtual]

Reimplemented in storage::DmraidCo.

References storage::DMPART_NO_REMOVE.

Referenced by commitChanges(), and removePresentPartitions().

string DmPartCo::removeText ( bool  doing  )  const [protected, virtual]

Reimplemented from storage::Container.

Reimplemented in storage::DmraidCo.

References storage::_(), storage::Container::name(), and storage::sformat().

string DmPartCo::setDiskLabelText ( bool  doing  )  const [protected, virtual]

void DmPartCo::logData ( const string &  Dir  )  [protected, virtual]

Reimplemented from storage::Container.

Reimplemented in storage::DmraidCo.


Friends And Related Function Documentation

friend class Storage [friend]

Reimplemented from storage::PeContainer.

Reimplemented in storage::DmraidCo.

std::ostream& operator<< ( std::ostream &  s,
const DmPartCo d 
) [friend]


Member Data Documentation

string storage::DmPartCo::udev_path [protected]

Referenced by udevPath().

std::list<string> storage::DmPartCo::udev_id [protected]

string storage::DmPartCo::logfile_name [protected]

string storage::DmPartCo::sysfs_dir [protected]

bool storage::DmPartCo::active [protected]

bool storage::DmPartCo::valid [protected]

unsigned storage::DmPartCo::num_part [protected]

Reimplemented from storage::Container.

Referenced by storage::DmraidCo::getInfo(), and getInfo().


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

Generated on Sun Jun 8 10:48:03 2008 for yast2-storage by  doxygen 1.5.5