// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

#![feature(iter_arith, result_expect, path_ext, slice_bytes)]
#![warn(missing_docs)]

//! Melvin is pure Rust library for configuring [LVM](https://www.sourceware.org/lvm2/).

extern crate byteorder;
extern crate crc;
extern crate unix_socket;
extern crate nix;
extern crate libc;
extern crate uuid;
extern crate time;

pub mod dm;
pub mod parser;
mod lvmetad;
mod pvlabel;
mod lv;
mod vg;
mod pv;
mod util;

pub use pvlabel::{PvHeader, pvheader_scan};
pub use vg::VG;
pub use pv::PV;
pub use lv::LV;
pub use lvmetad::vg_list;

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

#![feature(iter_arith, result_expect, path_ext, slice_bytes)]
#![warn(missing_docs)]

//! Melvin is pure Rust library for configuring [LVM](https://www.sourceware.org/lvm2/).

extern crate byteorder;
extern crate crc;
extern crate unix_socket;
extern crate nix;
extern crate libc;
extern crate uuid;
extern crate time;

pub mod parser;
pub mod lvmetad;
pub mod pvlabel;
pub mod dm;
pub mod lv;
pub mod vg;
pub mod pv;
mod util;

--- 
+++ 
@@ -15,11 +15,17 @@
 extern crate uuid;
 extern crate time;
 
+pub mod dm;
 pub mod parser;
-pub mod lvmetad;
-pub mod pvlabel;
-pub mod dm;
-pub mod lv;
-pub mod vg;
-pub mod pv;
+mod lvmetad;
+mod pvlabel;
+mod lv;
+mod vg;
+mod pv;
 mod util;
+
+pub use pvlabel::{PvHeader, pvheader_scan};
+pub use vg::VG;
+pub use pv::PV;
+pub use lv::LV;
+pub use lvmetad::vg_list;
Hide stuff in public API

and re-export important stuff (VG, PV, LV) at the toplevel.

Signed-off-by: Andy Grover <b7d524d2f5cc5aebadb6b92b08d3ab26911cde33@redhat.com>
