XRootD
XrdOssVSPart Class Reference

#include <XrdOssVS.hh>

+ Collaboration diagram for XrdOssVSPart:

Public Member Functions

 XrdOssVSPart ()
 
 ~XrdOssVSPart ()
 

Public Attributes

const char ** aPath
 
unsigned short bdevID
 
long long Free
 
unsigned short partID
 
const char * pPath
 
int rsvd1
 
void * rsvd2
 
long long Total
 

Detailed Description

Class describing the patitions associated with a space. This is returned as a vector by StatVS() when so requested. Note that pPath points to a path associated with the partition. No inference should be made about this path other than it is one of, perhaps of many, paths associated with the partition. The aPath vector provides specific paths that are associated with allocated files in the partition relative to the space name. There may be many of these for the partition. The vector always ends with a nil pointer.

The bdevID is a unique identifier for each block device. It is currently only supported in Linux. Other systems assign all partitions the generic ID of 0. Even in Linux, the ID will be zero for softwared devices (though not for LVM devices backed by a real device). Softwared devices such as distributed file systems cannot be identified correctly as they do not provide sufficiently distinguishing information.

The partID is an ascending value that uniquely identifies a partition irrespective of its associated bdevID. However, using this information to schedule read/write requests is not trivial and may overwhelm the underlying device if it has many partitions. You can check if the system correctly identified all devices using DevID(0,x,y). If 'x' is one upon return, then using partID for scheduling is the only recourse as either no real devices were found or the system only has one such device.

Definition at line 63 of file XrdOssVS.hh.

Constructor & Destructor Documentation

◆ XrdOssVSPart()

XrdOssVSPart::XrdOssVSPart ( )
inline

Definition at line 75 of file XrdOssVS.hh.

75  : pPath(0), aPath(0), Total(0), Free(0),
76  bdevID(0), partID(0), rsvd1(0), rsvd2(0)
77  {}
unsigned short partID
Definition: XrdOssVS.hh:71
long long Total
Definition: XrdOssVS.hh:68
const char * pPath
Definition: XrdOssVS.hh:66
const char ** aPath
Definition: XrdOssVS.hh:67
long long Free
Definition: XrdOssVS.hh:69
unsigned short bdevID
Definition: XrdOssVS.hh:70
void * rsvd2
Definition: XrdOssVS.hh:73

◆ ~XrdOssVSPart()

XrdOssVSPart::~XrdOssVSPart ( )
inline

Definition at line 78 of file XrdOssVS.hh.

78 {}

Member Data Documentation

◆ aPath

const char** XrdOssVSPart::aPath

Definition at line 67 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().

◆ bdevID

unsigned short XrdOssVSPart::bdevID

Definition at line 70 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().

◆ Free

long long XrdOssVSPart::Free

Definition at line 69 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().

◆ partID

unsigned short XrdOssVSPart::partID

Definition at line 71 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().

◆ pPath

const char* XrdOssVSPart::pPath

Definition at line 66 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().

◆ rsvd1

int XrdOssVSPart::rsvd1

Definition at line 72 of file XrdOssVS.hh.

◆ rsvd2

void* XrdOssVSPart::rsvd2

Definition at line 73 of file XrdOssVS.hh.

◆ Total

long long XrdOssVSPart::Total

Definition at line 68 of file XrdOssVS.hh.

Referenced by XrdOssCache_FS::getSpace().


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