Struct libparted::Geometry[][src]

pub struct Geometry<'a> { /* fields omitted */ }

Implementations

Return a constraint that only the given region will satisfy.

Checks for physical disk errors.

Checks a region for physical defects on geom. The region checked starts at offset sectors inside the region represented by geom, and is count sectors long. granularity specifies how sectors should be grouped together.

The first bad sector to be returned will always be in the form:

    offset + n * granularity

Returns the first bad sector if a bad sector was found.

Duplicate a Geometry object.

Initializes a pre-allocated Geometry.

Return a Geometry object that refers to the intersection between itself and another Geometry.

Takes a sector inside the region described by src and returns that sector’s address inside of our own Geometry marked as self. This means that the following code examples are equivalent:

geometry.read(buf, geometry.map(src, sector), 1);
geometry.read(buf, sector, 1);

Clearly, this will only work if self and src overlap.

Create a new Geometry object on disk, starting at start with a size of length sectors.

Reads data from the region within our Geometry. offset is the location from within the region, not from the start of the disk. count sectors are read into buffer. An exception is thrown when attempting to read sectors outside of the partition.

Note:

The supplied vector will be reallocated to the correct size automatically.

Throws:

Throws PED_EXCEPTION_ERROR when attempting to read sectors outside of partition.

Assign a new start and length, where end will also be set implicitly from those values.

Assign a new end to self without changing self->start field.

self->length will be updated accordingly.

Assign a new start to self witout changing self->end.

self->length will be updated accordingly.

Flushes the cache on self.

This function flushses all write-behind caches that might be holding writes made by Geometry::write() to self. It is slow because it guarantees cache coherency among all relevant caches.

Flushes the cache on self.

This function flushses all write-behind caches that might be holding writes made by Geometry::write() to self. It does not ensure cache coherency with other caches that cache data in the region described by self.

If you need cache coherency, use Geometry::sync() instead.

Tests if the other Geometry refers to the same physical region as self.

Tests if the other Geometry is inside self.

Tests if sector is inside the geometry.

Writes data into the region represented by self. The offset is the location from within the region, not from the start of the disk. count sectors are to be written.

Opens the file system stored in the given Geometry.

Examples
let mut fs = FileSystem::open(&mut geometry);
let mut fs = geometry.open_fs();
Throws
  • PED_EXCEPTION_ERROR if the file system could not be detected.
  • PED_EXCEPTION_ERROR if the file system is bigger than its volume.
  • PED_EXCEPTION_NO_FEATURE if opening of a file system stored on geom is not implemented.

Attempt to detect a file system in the given Geometry.

This function tries to be clever at dealing with ambiguous situations, such as when one file system was not completely erased before a new file system was created on on top of it.

Attempt to find a file system and return the region it occupies.

Trait Implementations

Executes the destructor for this type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.