Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ git_override(

git_override(
module_name = "com_github_buildbarn_bb_storage",
commit = "dc342e1799d72bd927ffc0af1f429e7044118b07",
commit = "e5d91cab6de691aa13e549440545fc6f79e87025",
remote = "https://github.com/buildbarn/bb-storage.git",
)

Expand Down
2,365 changes: 1,770 additions & 595 deletions MODULE.bazel.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ require (
github.com/bazelbuild/buildtools v0.0.0-20260317083046-eb4b727fa099
github.com/bazelbuild/remote-apis v0.0.0-20260216160025-715b73f3f9e4
github.com/bazelbuild/rules_go v0.59.0
github.com/buildbarn/bb-storage v0.0.0-20260317135248-dc342e1799d7
github.com/buildbarn/bb-storage v0.0.0-20260507124548-e5d91cab6de6
github.com/buildbarn/go-xdr v0.0.0-20240702182809-236788cf9e89
github.com/golang/protobuf v1.5.4
github.com/google/uuid v1.6.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,8 @@ github.com/bazelbuild/rules_go v0.59.0/go.mod h1:Pn30cb4M513fe2rQ6GiJ3q8QyrRsgC7
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
github.com/buildbarn/bb-storage v0.0.0-20260317135248-dc342e1799d7 h1:n6sJ9PxC6WSaLboSi3EcbIxfqgRd7tulb5hiep4kFh4=
github.com/buildbarn/bb-storage v0.0.0-20260317135248-dc342e1799d7/go.mod h1:96kqnkrdkHHi94Agje3NM8qwrYMxJRSkAqsb7oXRhNI=
github.com/buildbarn/bb-storage v0.0.0-20260507124548-e5d91cab6de6 h1:h3RPsYigcODS2P1fNErfqPc6WG8I2fuDedYPDtnkGKs=
github.com/buildbarn/bb-storage v0.0.0-20260507124548-e5d91cab6de6/go.mod h1:LY8xx7Smc8UNMw/wVAbS0gT1HMfrkkag3HMWSWxG7yA=
github.com/buildbarn/go-sha256tree v0.0.0-20250310211320-0f70f20e855b h1:IKUxixGBm9UxobU7c248z0BF0ojG19uoSLz8MFZM/KA=
github.com/buildbarn/go-sha256tree v0.0.0-20250310211320-0f70f20e855b/go.mod h1:e7g3/yWApcg+PpDqd4eQEEV8pexQmfCgK3frP+1Wuvk=
github.com/buildbarn/go-xdr v0.0.0-20240702182809-236788cf9e89 h1:Wtpgk4CIkoEJ7Qx3BwjaMp3TOVv834heqyCC9jMKStM=
Expand Down
3 changes: 3 additions & 0 deletions pkg/filesystem/virtual/configuration/fuse_mount_enabled.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ func (m *fuseMount) Expose(terminationGroup program.Group, rootDirectory virtual
// make it into the virtual file system after
// calling close()/fsync()/munmap()/msync().
EnableWritebackCache: true,
// Cap the FUSE asynchronous request queue. When zero,
// go-fuse falls back to its default of 12.
MaxBackground: int(m.configuration.MaximumBackgroundTasks),
}

switch m.configuration.MountMethod {
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/bazeloutputservice/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bazeloutputservice_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/bazeloutputservice/rev2/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bazeloutputservicerev2_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/buildqueuestate/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "buildqueuestate_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/cas/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "cas_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/completedactionlogger/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "completedactionlogger_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/bb_noop_worker/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bb_noop_worker_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/bb_runner/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bb_runner_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/bb_scheduler/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bb_scheduler_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/bb_virtual_tmp/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bb_virtual_tmp_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/bb_worker/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "bb_worker_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/cas/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "cas_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/credentials/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "credentials_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/filesystem/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "filesystem_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/filesystem/virtual/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "virtual_proto",
Expand Down
13 changes: 11 additions & 2 deletions pkg/proto/configuration/filesystem/virtual/virtual.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions pkg/proto/configuration/filesystem/virtual/virtual.proto
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,26 @@ message FUSEMountConfiguration {

// Method to use to create the FUSE mount.
MountMethod mount_method = 10;

// The maximum number of asynchronous FUSE requests the kernel is
// permitted to have in flight against this mount, corresponding to
// the max_background field in the FUSE_INIT reply. The kernel
// additionally treats max_background * 3/4 as a congestion threshold;
// requests beyond it block in the kernel until the queue drains.
//
// The go-fuse default of _DEFAULT_BACKGROUND_TASKS (12) is suitable
// for bb_clientd and similar low-concurrency consumers. For bb_worker,
// where a single mount serves many concurrent actions and each may
// issue readahead, the queue saturates quickly and reads stall in
// the kernel.
//
// The appropriate value scales with the number of concurrent worker
// threads sharing the mount: more threads means more actions in
// flight, each potentially fanning out into many parallel reads.
// A reasonable starting point for bb_worker is roughly 128 per
// worker thread (e.g. 1024 for 8 threads); tune up if reads still
// stall under sustained concurrency.
uint32 maximum_background_tasks = 11;
}

message NFSv4MountConfiguration {
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/configuration/scheduler/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "scheduler_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/outputpathpersistency/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "outputpathpersistency_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/remoteactionrouter/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "remoteactionrouter_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/remoteworker/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "remoteworker_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/resourceusage/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "resourceusage_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/runner/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "runner_proto",
Expand Down
2 changes: 1 addition & 1 deletion pkg/proto/tmp_installer/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
load("@protobuf//bazel:proto_library.bzl", "proto_library")
load("@rules_go//go:def.bzl", "go_library")
load("@rules_go//proto:def.bzl", "go_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")

proto_library(
name = "tmp_installer_proto",
Expand Down
Loading