Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test btrfs-sb-mod #825

Closed
wants to merge 35 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
696fe10
btrfs-progs: tests: do not use async discard for misc/004
adam900710 Jun 7, 2024
018c035
btrfs-progs: fix the conflicting super block flags
adam900710 Jun 8, 2024
dcfdf6f
btrfs-progs: print-tree: handle all supported flags
adam900710 Jun 8, 2024
935fdd1
btrfs-progs: ci: switch workflow runner image to ubuntu-24.04
kdave Jun 13, 2024
bc28f9b
btrfs-progs: ci: move Leap image to 15.6
kdave Jun 13, 2024
d4d7517
btrfs-progs: tests: update or fix shell script coding style
kdave Jun 12, 2024
8e687f9
btrfs-progs: completion: update mkswapfile, tree-stats and map-swapfile
kdave Jun 12, 2024
8640307
btrfs-progs: ci: add RockyLinux 9 image
kdave Jun 13, 2024
0f2b1cc
btrfs-progs: ci: enable RockyLinux 9 build tests
kdave Jun 13, 2024
760e879
btrfs-progs: tests: fix cleanup step in check/037
kdave Jun 13, 2024
c1882f9
btrfs-progs: tests: always wait for subvolume cleaning before clear-s…
adam900710 Jun 13, 2024
9cfa509
btrfs-progs: tests: dump dmesg if a mount fails
adam900710 Jun 13, 2024
cc2230e
btrfs-progs: convert: remove raid-stripe-tree support
adam900710 Jun 12, 2024
2781f66
btrfs-progs: tests: hide RST related mkfs tests behind experimental b…
adam900710 Jun 12, 2024
c600fcc
btrfs-progs: move RST back to experimental
adam900710 Jun 12, 2024
12358fa
btrfs-progs: mkfs-tests: ensure regular builds won't enable rst feature
adam900710 Jun 12, 2024
9506275
btrfs-progs: build: add kernel-shared nested directories to tags
kdave Jun 17, 2024
22b3246
btrfs-progs: copy entire label buffer to target buffers
kdave Jun 17, 2024
4168fa4
btrfs-progs: use explicit length parameters for string copy
kdave Jun 17, 2024
6ed16f7
btrfs-progs: rename and move __strncpy_null to string-utils
kdave Jun 17, 2024
a354093
btrfs-progs: use strncpy_null everywhere
kdave Jun 17, 2024
7420ee7
btrfs-progs: receive dump: encode clone path and xattr name/value
kdave Jun 17, 2024
751c57f
btrfs-progs: tests: update misc/054 to test escaping of clone and xattrs
kdave Jun 17, 2024
8b240d0
btrfs-progs: receive dump: fix formatting of encoded write message
kdave Jun 17, 2024
1487e61
btrfs-progs: docs: clarify receive --dump encoding
kdave Jun 17, 2024
7535c35
btrfs-progs: fi df: extended information about profile types
kdave Jun 13, 2024
410d82d
btrfs-progs: tests: fix shellcheck reports in cli-tests
kdave Jun 17, 2024
7c10c72
btrfs-progs: update sorting API
kdave Jun 19, 2024
29f3820
btrfs-progs: inspect list-chunks: better sorting, updated output
kdave Jun 17, 2024
ef53fbd
btrfs-progs: change-csum: fix the wrong metadata space reservation
adam900710 Jun 18, 2024
917a7c2
btrfs-progs: tests: add test case for basic checksum conversion
adam900710 Jun 18, 2024
91a20bc
btrfs-progs: tests: fix fssum ASAN memory leak reports
kdave Jun 19, 2024
1dfd256
btrfs-progs: ci: fix lcov warnings on unexecuted blocks
kdave Jun 19, 2024
d61f8c4
btrfs-progs: build: use thread-safe profile generation flags
kdave Jun 19, 2024
8adc70d
btrfs-progs: tests: add fuzzing of superblock
kdave Jun 19, 2024
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 .github/workflows/artifacts-static-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
- master
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo apt-get install -y pkg-config gcc liblzo2-dev libzstd-dev libblkid-dev uuid-dev zlib1g-dev libext2fs-dev e2fsprogs libudev-dev python3-sphinx libaio-dev liburing-dev
Expand Down
41 changes: 25 additions & 16 deletions .github/workflows/ci-build-test-fast.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,87 +14,96 @@ on:
jobs:
check-centos7:
name: CI Centos 7
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Centos7
run: sudo docker run kdave/ci-centos-7-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-libudev
check-centos8:
name: CI Centos 8
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Centos8
run: sudo docker run kdave/ci-centos-8-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-zoned --disable-libudev
check-rockylinux9:
name: CI RockyLinux 9
runs-on: ubuntu-24.04
steps:
- name: CI RockyLinux 9
run: sudo docker run kdave/ci-rockylinux-9-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation
check-leap153:
name: CI Leap 15.3
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Leap 15.3
run: sudo docker run kdave/ci-opensuse-leap-15.3-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-zoned
check-leap154:
name: CI Leap 15.4
runs-on: ubuntu-latest
check-leap156:
name: CI Leap 15.6
runs-on: ubuntu-24.04
steps:
- name: CI Leap 15.4
run: sudo docker run kdave/ci-opensuse-leap-15.4-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-zoned
- name: CI Leap 15.6
run: sudo docker run kdave/ci-opensuse-leap-15.6-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-zoned
check-musl:
name: CI Musl
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Musl
run: sudo docker run kdave/ci-musl-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
- name: CI Musl (experimental)
run: sudo docker run kdave/ci-musl-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev --enable-experimental
check-musl-32bit:
name: CI Musl (32bit)
runs-on: ubuntu-latest
# Pin the version, on 24.04 it fails:
# make: *** pselect jobs pipe: Function not implemented. Stop.
# make: *** Waiting for unfinished jobs....
runs-on: ubuntu-22.04
steps:
- name: CI Musl (32bit)
run: sudo docker run kdave/ci-musl-i386 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
- name: CI Musl (32bit) (experimental)
run: sudo docker run kdave/ci-musl-i386 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev --enable-experimental
check-tumbleweed:
name: CI Tumbleweed
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Tumbleweed
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation
- name: CI Tumbleweed (experimental)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --enable-experimental
check-tumbleweed-libgcrypt:
name: CI Tumbleweed (libgcrypt)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Tumbleweed (libgcrypt)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libgcrypt
- name: CI Tumbleweed (libgcrypt) (experimental)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libgcrypt --enable-experimental
check-tumbleweed-libsodium:
name: CI Tumbleweed (libsodium)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Tumbleweed (libsodium)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libsodium
- name: CI Tumbleweed (libsodium) (experimental)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libsodium --enable-experimental
check-tumbleweed-libkcapi:
name: CI Tumbleweed (libkcapi)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Tumbleweed (libkcapi)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libkcapi
- name: CI Tumbleweed (libkcapi) (experimental)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=libkcapi --enable-experimental
check-tumbleweed-botan:
name: CI Tumbleweed (Botan)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: CI Tumbleweed (Botan)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=botan
- name: CI Tumbleweed (Botan) (experimental)
run: sudo docker run kdave/ci-opensuse-tumbleweed-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --with-crypto=botan --enable-experimental
# check-tumbleweed-openssl:
# name: CI Tumbleweed (OpenSSL)
# runs-on: ubuntu-latest
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - name: CI Tumbleweed (OpenSSL)
Expand Down
42 changes: 26 additions & 16 deletions .github/workflows/ci-build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,84 +12,94 @@ on:
jobs:
check-centos7:
name: CI Centos 7
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Centos7
run: ci/ci-build-centos7
check-centos8:
name: CI Centos 8
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Centos8
run: ci/ci-build-centos8
check-rockylinux9:
name: CI RockyLinux 9
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI RockyLinux 9
run: ci/ci-build-rockylinux9
check-leap153:
name: CI Leap 15.3
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Leap 15.3
run: ci/ci-build-leap153
check-leap154:
name: CI Leap 15.4
runs-on: ubuntu-latest
check-leap156:
name: CI Leap 15.6
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Leap 15.4
run: ci/ci-build-leap154
- name: CI Leap 15.6
run: ci/ci-build-leap156
check-musl:
name: CI Musl
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Musl
run: ci/ci-build-musl
check-musl-32bit:
name: CI Musl (32bit)
runs-on: ubuntu-latest
# Pin the version, on 24.04 it fails:
# make: *** pselect jobs pipe: Function not implemented. Stop.
# make: *** Waiting for unfinished jobs....
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: CI Musl (32bit)
run: ci/ci-build-musl-i386
check-tumbleweed:
name: CI Tumbleweed
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Tumbleweed
run: ci/ci-build-tumbleweed
check-tumbleweed-libgcrypt:
name: CI Tumbleweed (libgcrypt)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Tumbleweed (libgcrypt)
run: ci/ci-build-tumbleweed HEAD --with-crypto=libgcrypt
check-tumbleweed-libsodium:
name: CI Tumbleweed (libsodium)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Tumbleweed (libsodium)
run: ci/ci-build-tumbleweed HEAD --with-crypto=libsodium
check-tumbleweed-libkcapi:
name: CI Tumbleweed (libkcapi)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Tumbleweed (libkcapi)
run: ci/ci-build-tumbleweed HEAD --with-crypto=libkcapi
check-tumbleweed-botan:
name: CI Tumbleweed (Botan)
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: CI Tumbleweed (Botan)
run: ci/ci-build-tumbleweed HEAD --with-crypto=botan
# check-tumbleweed-openssl:
# name: CI Tumbleweed (OpenSSL)
# runs-on: ubuntu-latest
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - name: CI Tumbleweed (OpenSSL)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci-sanitize.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- master
jobs:
build-ubsan:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: uname -a
Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:
path: "tests/*-results.txt"
if-no-files-found: ignore
build-asan:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: uname -a
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- master
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: uname -a
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
- name: Generate lcov results
run: |
lcov -c -d . -o lcov-info
genhtml -o lcov-out lcov-info
genhtml --rc geninfo_unexecuted_blocks=1 -o lcov-out lcov-info
- name: Save lcov results
uses: actions/upload-artifact@v4
with:
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/devel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
strategy:
matrix:
compiler: [ gcc, clang ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -31,7 +31,7 @@ jobs:
run: make V=1 EXTRA_CFLAGS='-march=x86-64' btrfs.box.static
build-musl:
name: Build test on musl
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Musl build
run: sudo docker run kdave/ci-musl-x86_64 ./test-build $GITHUB_REF_NAME --disable-documentation --disable-backtrace --disable-libudev
Expand All @@ -40,7 +40,7 @@ jobs:
strategy:
matrix:
compiler: [ gcc, clang ]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -65,7 +65,7 @@ jobs:
run: make hash-vectest && ./hash-vectest
test-mkfs:
name: Test mkfs.btrfs
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -85,7 +85,7 @@ jobs:
if-no-files-found: ignore
test-check:
name: Test btrfs check
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -107,7 +107,7 @@ jobs:
if-no-files-found: ignore
test-misc:
name: Test misc
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -127,7 +127,7 @@ jobs:
if-no-files-found: ignore
test-convert:
name: Test btrfs-convert
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand All @@ -147,7 +147,7 @@ jobs:
if-no-files-found: ignore
test-other:
name: Test cli, fuzz
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: sudo modprobe btrfs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
branches: [ "devel", "master" ]
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: uname -a
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
- devel-ci
jobs:
build:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- run: uname -a
Expand Down
5 changes: 5 additions & 0 deletions Documentation/btrfs-receive.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ A subvolume is made read-only after the receiving process finishes successfully
dump the stream metadata, one line per operation

Does not require the *path* parameter. The filesystem remains unchanged.
Each stream command is on one line in the form of *key=value* and separated
by one or more spaces. Values that contain special characters (like
paths or extended attributes) are encoded in C-like way, e.g. *'\\n'* or
octal escape sequence like *'\\NNN'* where N is the char value. Same encoding
as is used in */proc* files.

-q|--quiet
(deprecated) alias for global *-q* option
Expand Down
7 changes: 4 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -314,8 +314,8 @@ ifeq ("$(origin D)", "command line")
endif

ifneq (,$(findstring gcov,$(D)))
DEBUG_CFLAGS_INTERNAL += -fprofile-arcs -ftest-coverage --coverage
DEBUG_LDFLAGS_INTERNAL += -fprofile-generate --coverage
DEBUG_CFLAGS_INTERNAL += -fprofile-arcs -fprofile-update=atomic -ftest-coverage --coverage
DEBUG_LDFLAGS_INTERNAL += -fprofile-generate -fprofile-update=atomic --coverage
endif

ifneq (,$(findstring verbose,$(D)))
Expand Down Expand Up @@ -550,7 +550,7 @@ test-mkfs: btrfs mkfs.btrfs
@echo " [TEST] mkfs-tests.sh"
$(Q)bash tests/mkfs-tests.sh

test-fuzz: btrfs btrfs-image
test-fuzz: btrfs btrfs-image btrfs-sb-mod
@echo " [TEST] fuzz-tests.sh"
$(Q)bash tests/fuzz-tests.sh

Expand Down Expand Up @@ -878,6 +878,7 @@ tags: FORCE
@echo " [TAGS] $(TAGS_CMD)"
$(Q)$(TAGS_CMD) *.[ch] image/*.[ch] convert/*.[ch] mkfs/*.[ch] \
check/*.[ch] kernel-lib/*.[ch] kernel-shared/*.[ch] \
kernel-shared/*/*.[ch] \
cmds/*.[ch] common/*.[ch] tune/*.[ch] \
libbtrfsutil/*.[ch]

Expand Down
Loading