[blobfs] Clean up operation dependencies
Change-Id: Ia23aa9eba56f79906b1daac8730be36163655871
diff --git a/zircon/system/ulib/blobfs/BUILD.gn b/zircon/system/ulib/blobfs/BUILD.gn
index 56dc966..2d566e1 100644
--- a/zircon/system/ulib/blobfs/BUILD.gn
+++ b/zircon/system/ulib/blobfs/BUILD.gn
@@ -60,8 +60,9 @@
"journal-entry.cpp",
"journal.cpp",
"metrics.cpp",
- "unbuffered-operations-builder.cpp",
+ "operation.cpp",
"ring-buffer.cpp",
+ "unbuffered-operations-builder.cpp",
"vmo-buffer.cpp",
"write-txn.cpp",
"writeback-queue.cpp",
diff --git a/zircon/system/ulib/blobfs/include/blobfs/operation.h b/zircon/system/ulib/blobfs/include/blobfs/operation.h
index 0c5a156..9f21e79 100644
--- a/zircon/system/ulib/blobfs/include/blobfs/operation.h
+++ b/zircon/system/ulib/blobfs/include/blobfs/operation.h
@@ -8,6 +8,7 @@
#error Fuchsia-only Header
#endif
+#include <fbl/vector.h>
#include <lib/zx/vmo.h>
#include <zircon/device/block.h>
@@ -48,4 +49,7 @@
Operation op;
};
+// Sums the |length| of all requests.
+uint64_t BlockCount(const fbl::Vector<UnbufferedOperation>& requests);
+
} // namespace blobfs
diff --git a/zircon/system/ulib/blobfs/include/blobfs/ring-buffer.h b/zircon/system/ulib/blobfs/include/blobfs/ring-buffer.h
index e5aebae..f6f50e7 100644
--- a/zircon/system/ulib/blobfs/include/blobfs/ring-buffer.h
+++ b/zircon/system/ulib/blobfs/include/blobfs/ring-buffer.h
@@ -10,12 +10,11 @@
#include <utility>
+#include <blobfs/operation.h>
#include <blobfs/vmo-buffer.h>
#include <fbl/mutex.h>
#include <lib/fzl/owned-vmo-mapper.h>
-#include "unbuffered-operations-builder.h"
-
namespace blobfs {
class RingBufferReservation;
diff --git a/zircon/system/ulib/blobfs/include/blobfs/unbuffered-operations-builder.h b/zircon/system/ulib/blobfs/include/blobfs/unbuffered-operations-builder.h
index 6074ab2..3a38a40 100644
--- a/zircon/system/ulib/blobfs/include/blobfs/unbuffered-operations-builder.h
+++ b/zircon/system/ulib/blobfs/include/blobfs/unbuffered-operations-builder.h
@@ -49,7 +49,4 @@
uint64_t block_count_;
};
-// Sums the |length| of all requests.
-uint64_t BlockCount(const fbl::Vector<UnbufferedOperation>& requests);
-
} // namespace blobfs
diff --git a/zircon/system/ulib/blobfs/operation.cpp b/zircon/system/ulib/blobfs/operation.cpp
new file mode 100644
index 0000000..7a0df1d
--- /dev/null
+++ b/zircon/system/ulib/blobfs/operation.cpp
@@ -0,0 +1,17 @@
+// 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 <blobfs/operation.h>
+
+namespace blobfs {
+
+uint64_t BlockCount(const fbl::Vector<UnbufferedOperation>& operations) {
+ uint64_t total_length = 0;
+ for (const auto& operation: operations) {
+ total_length += operation.op.length;
+ }
+ return total_length;
+}
+
+} // namespace blobfs
diff --git a/zircon/system/ulib/blobfs/test/ring-buffer-test.cpp b/zircon/system/ulib/blobfs/test/ring-buffer-test.cpp
index fee99f89..7b3e130 100644
--- a/zircon/system/ulib/blobfs/test/ring-buffer-test.cpp
+++ b/zircon/system/ulib/blobfs/test/ring-buffer-test.cpp
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include <blobfs/ring-buffer.h>
+#include <blobfs/unbuffered-operations-builder.h>
#include <lib/zx/vmo.h>
#include <zircon/assert.h>
diff --git a/zircon/system/ulib/blobfs/unbuffered-operations-builder.cpp b/zircon/system/ulib/blobfs/unbuffered-operations-builder.cpp
index d7f25ac..9f3c6ab 100644
--- a/zircon/system/ulib/blobfs/unbuffered-operations-builder.cpp
+++ b/zircon/system/ulib/blobfs/unbuffered-operations-builder.cpp
@@ -92,12 +92,4 @@
return std::move(operations_);
}
-uint64_t BlockCount(const fbl::Vector<UnbufferedOperation>& operations) {
- uint64_t total_length = 0;
- for (const auto& operation: operations) {
- total_length += operation.op.length;
- }
- return total_length;
-}
-
} // namespace blobfs