Skip to content

Commit 3e06d63

Browse files
authored
Merge pull request #2001 from motiejus/btrfs-progs
feat: enable btrfs
2 parents 1797aa3 + d51a58d commit 3e06d63

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

Dockerfile

+3-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ FROM gke.gcr.io/debian-base:bookworm-v1.0.4-gke.5 AS debian
2727

2828
# Install necessary dependencies
2929
# google_nvme_id script depends on the following packages: nvme-cli, xxd, bash
30-
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash kmod lvm2 mdadm
30+
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs nvme-cli xxd bash kmod lvm2 mdadm btrfs-progs
3131

3232
# Since we're leveraging apt to pull in dependencies, we use `gcr.io/distroless/base` because it includes glibc.
3333
FROM gcr.io/distroless/base-debian12 AS distroless-base
@@ -48,6 +48,7 @@ COPY --from=debian /etc/mke2fs.conf /etc/mke2fs.conf
4848
COPY --from=debian /lib/udev/scsi_id /lib/udev_containerized/scsi_id
4949
COPY --from=debian /bin/mount /bin/mount
5050
COPY --from=debian /bin/umount /bin/umount
51+
COPY --from=debian /bin/btrfs /bin/btrfs
5152
COPY --from=debian /sbin/blkid /sbin/blkid
5253
COPY --from=debian /sbin/blockdev /sbin/blockdev
5354
COPY --from=debian /sbin/dumpe2fs /sbin/dumpe2fs
@@ -131,6 +132,7 @@ COPY --from=debian /lib/${LIB_DIR_PREFIX}-linux-gnu/libselinux.so.1 \
131132
/lib/${LIB_DIR_PREFIX}-linux-gnu/libnvme.so.1 \
132133
/lib/${LIB_DIR_PREFIX}-linux-gnu/libsystemd.so.0 \
133134
/lib/${LIB_DIR_PREFIX}-linux-gnu/libgpg-error.so.0 \
135+
/lib/${LIB_DIR_PREFIX}-linux-gnu/liblzo2.so.2 \
134136
/lib/${LIB_DIR_PREFIX}-linux-gnu/libzstd.so.1 /lib/${LIB_DIR_PREFIX}-linux-gnu/
135137

136138
COPY --from=debian /usr/lib/${LIB_DIR_PREFIX}-linux-gnu/libblkid.so.1 \

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ As part of the deployment process, the driver is deployed in a newly created nam
9292

9393
Controller-level and node-level deployments will both have priorityClassName set, and the corresponding priority value is close to the maximum possible for user-created PriorityClasses.
9494

95+
## Notes on filesystems
96+
97+
As noted in [GCP PD documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/gce-pd-csi-driver), `ext4` and `xfs` are officially supported. `btrfs` support is experimental:
98+
- As of writing, Ubuntu VM images support btrfs, but [COS does not](https://cloud.google.com/container-optimized-os/docs/concepts/supported-filesystems).
99+
- Early testers have observed CSI driver OOMs when mounting larger (1TiB+) btrfs volumes under default memory constraints. The default constraint, as of writing, is 50MiB.
100+
95101
## Further Documentation
96102

97103
[Local Development](docs/kubernetes/development.md)

0 commit comments

Comments
 (0)