- Main Page
- Namespaces
- Classes
- Files
- Directories
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# sbuild::chroot_lvm_snapshot Class Reference

A chroot stored on an LVM logical volume (LV). More...

`#include <sbuild-chroot-lvm-snapshot.h>`

Inheritance diagram for sbuild::chroot_lvm_snapshot:

[legend]
Collaboration diagram for sbuild::chroot_lvm_snapshot:

[legend]
List of all members.

## Public Member Functions
virtual | ~chroot_lvm_snapshot ()
| The destructor.
virtual chroot::ptr | clone () const
| Copy the chroot.
virtual chroot::ptr | clone_source () const
| Create a source chroot.
std::string const & | get_snapshot_device () const
| Get the logical volume snapshot device name.
void | set_snapshot_device (std::string const &snapshot_device)
| Set the logical volume snapshot device name.
virtual std::string const & | get_mount_device () const
| Get the mount device of the chroot.
std::string const & | get_snapshot_options () const
| Get the logical volume snapshot options.
void | set_snapshot_options (std::string const &snapshot_options)
| Set the logical volume snapshot options.
virtual std::string const & | get_chroot_type () const
| Get the type of the chroot.
virtual void | setup_env (environment &env)
| Set environment.
virtual session_flags | get_session_flags () const
| Get the session flags of the chroot.
## Protected Member Functions
| chroot_lvm_snapshot ()
| The constructor.
virtual void | setup_lock (chroot::setup_type type, bool lock, int status)
| Unlock a chroot during setup.
virtual void | get_details (format_detail &detail) const
| Get detailed information about the chroot for output.
virtual void | get_keyfile (keyfile &keyfile) const
| Copy the chroot properties into a keyfile.
virtual void | set_keyfile (keyfile const &keyfile)
| Set the chroot properties from a keyfile.
## Private Attributes
std::string | snapshot_device
| LVM snapshot device name for lvcreate.
std::string | snapshot_options
| LVM snapshot options for lvcreate.
## Friends
class | chroot

## Detailed Description

A chroot stored on an LVM logical volume (LV).

A snapshot LV will be created and mounted on demand.

## Constructor & Destructor Documentation

chroot_lvm_snapshot::chroot_lvm_snapshot | ( |  | ) | `[protected]`

The constructor.

chroot_lvm_snapshot::~chroot_lvm_snapshot | ( |  | ) | `[virtual]`

The destructor.

## Member Function Documentation

sbuild::chroot::ptr chroot_lvm_snapshot::clone | ( |  | ) | const`[virtual]`

Copy the chroot.

This is a virtual copy constructor.

Returns:
  a shared_ptr to the new copy of the chroot.

Reimplemented from sbuild::chroot_block_device.

sbuild::chroot::ptr chroot_lvm_snapshot::clone_source | ( |  | ) | const`[virtual]`

Create a source chroot.

Returns:
  a source chroot.

Implements sbuild::chroot_source.

std::string const & chroot_lvm_snapshot::get_chroot_type | ( |  | ) | const`[virtual]`

Get the type of the chroot.

Returns:
  the chroot type.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::get_details | ( | format_detail & | detail | ) | const`[protected, virtual]`

Get detailed information about the chroot for output.

Parameters:

  | detail | the details to output to.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::get_keyfile | ( | keyfile & | keyfile | ) | const`[protected, virtual]`

Copy the chroot properties into a keyfile.

The keyfile group with the name of the chroot will be set; if it already exists, it will be removed before setting it.

Parameters:

  | keyfile | the keyfile to use.

Reimplemented from sbuild::chroot_block_device.

std::string const & chroot_lvm_snapshot::get_mount_device | ( |  | ) | const`[virtual]`

Get the mount device of the chroot.

Returns:
  the device.

Reimplemented from sbuild::chroot_block_device.

sbuild::chroot::session_flags chroot_lvm_snapshot::get_session_flags | ( |  | ) | const`[virtual]`

Get the session flags of the chroot.

These determine how the Session controlling the chroot will operate.

Returns:
  the session flags.

Reimplemented from sbuild::chroot_block_device.

std::string const & chroot_lvm_snapshot::get_snapshot_device | ( |  | ) | const

Get the logical volume snapshot device name.

This is used by lvcreate.

Returns:
  the device name.

std::string const & chroot_lvm_snapshot::get_snapshot_options | ( |  | ) | const

Get the logical volume snapshot options.

These are used by lvcreate.

Returns:
  the options.

void chroot_lvm_snapshot::set_keyfile | ( | keyfile const & | keyfile | ) | `[protected, virtual]`

Set the chroot properties from a keyfile.

The chroot name must have previously been set, so that the correct keyfile group may be determined.

Parameters:

  | keyfile | the keyfile to get the properties from.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::set_snapshot_device | ( | std::string const & | snapshot_device | ) |

Set the logical volume snapshot device name.

This is used by lvcreate.

Parameters:

  | snapshot_device | the device name.

void chroot_lvm_snapshot::set_snapshot_options | ( | std::string const & | snapshot_options | ) |

Set the logical volume snapshot options.

These are used by lvcreate.

Parameters:

  | snapshot_options | the options.

void chroot_lvm_snapshot::setup_env | ( | environment & | env | ) | `[virtual]`

Set environment.

Set the environment that the setup scripts will see during execution.

Parameters:

  | env | the environment to set.

Reimplemented from sbuild::chroot_block_device.

void chroot_lvm_snapshot::setup_lock | ( | chroot::setup_type | type,
|  | bool | lock,
|  | int | status |
| ) |  |  | `[protected, virtual]`

Unlock a chroot during setup.

The locking technique (if any) may vary depending upon the chroot type and setup stage. For example, during creation of an LVM snapshot a block device might require locking, but afterwards this will change to the new block device.

An error will be thrown on failure.

Parameters:

  | type | the type of setup being performed
  | lock | true to lock, false to unlock
  | status | the exit status of the setup commands (0 for success, nonzero for failure).

Reimplemented from sbuild::chroot_block_device.

## Friends And Related Function Documentation

friend class chroot`[friend]`

Reimplemented from sbuild::chroot_block_device.

## Member Data Documentation

std::string sbuild::chroot_lvm_snapshot::snapshot_device`[private]`

LVM snapshot device name for lvcreate.

std::string sbuild::chroot_lvm_snapshot::snapshot_options`[private]`

LVM snapshot options for lvcreate.

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

- sbuild/sbuild-chroot-lvm-snapshot.h
- sbuild/sbuild-chroot-lvm-snapshot.cc