blob: c69ea91153d94ec59debbb355d542a9e87af6bb7 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "fvm-host/format.h"
bool FvmReservation::Approved() const {
if (data_.request && (*data_.request > data_.reserved)) {
return false;
}
if (nodes_.request && (*nodes_.request > nodes_.reserved)) {
return false;
}
if (total_bytes_.request &&
((*total_bytes_.request != 0) && (*total_bytes_.request < total_bytes_.reserved))) {
return false;
}
return true;
}
void FvmReservation::Dump(FILE* stream) const {
fprintf(stream,
"Requested: inodes: %" PRIu64 " data: %" PRIu64 " total bytes: %" PRIu64 "\n"
"Reserved: inodes: %" PRIu64 " data: %" PRIu64 " total bytes: %" PRIu64 "\n",
nodes_.request.value_or(0), data_.request.value_or(0), total_bytes_.request.value_or(0),
nodes_.reserved, data_.reserved, total_bytes_.reserved);
}