Sha256: 080d7a66ef04501e3501c080a6c7586d8855314fdead8e0407ddc204b6ce8d51

Contents?: true

Size: 1.17 KB

Versions: 6

Compression:

Stored size: 1.17 KB

Contents

#include <internal/facts/freebsd/filesystem_resolver.hpp>
#include <internal/util/freebsd/geom.hpp>
#include <leatherman/logging/logging.hpp>

#include <libgeom.h>

using namespace std;

namespace facter { namespace facts { namespace freebsd {

    filesystem_resolver::data filesystem_resolver::collect_data(collection& facts)
    {
        data result = bsd::filesystem_resolver::collect_data(facts);

        try {
            facter::util::freebsd::geom_class disks("PART");

            for (auto& geom : disks.geoms) {
                for (auto& provider : geom.providers) {
                    partition p;
                    p.name = provider.name();
                    p.size = provider.mediasize();
                    if (geom.config("scheme") == "GPT") {
                        p.partition_label = provider.config("label");
                        p.partition_uuid = provider.config("rawuuid");
                    }
                    result.partitions.push_back(move(p));
                }
            }
        } catch (util::freebsd::geom_exception const& e) {
            LOG_ERROR(e.what());
        }

        return result;
    }

}}}  // namespace facter::facts::freebsd

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
facter-3.12.1.cfacter.20181031 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
facter-3.12.1.cfacter.20181023 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
facter-3.12.0.cfacter.20181004 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
facter-3.12.0.cfacter.20181001 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc
facter-3.12.0.cfacter.20180918 ext/facter/facter/lib/src/facts/freebsd/filesystem_resolver.cc