Skip to content

Fix receive of split large blocks with a short trailing chunk #1311

Fix receive of split large blocks with a short trailing chunk

Fix receive of split large blocks with a short trailing chunk #1311

Workflow file for this run

name: zfs-arm
on:
push:
pull_request:
paths-ignore:
- 'man/**'
- '**.md'
- 'AUTHORS'
- 'COPYRIGHT'
- 'LICENSE'
- 'NOTICE'
- '.gitignore'
workflow_dispatch:
inputs:
gcc_ver:
type: string
required: false
default: ""
description: "(optional) install specific GCC version, like '16'"
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
zfs-arm:
name: ZFS ARM build
if: github.event_name == 'pull_request' || github.repository != 'openzfs/zfs'
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}
- name: Install dependencies
timeout-minutes: 20
run: |
sudo apt-get -y remove firefox || true
# Do we want to test with a custom GCC version?
if [ "${{ github.event.inputs.gcc_ver }}" != "" ] ; then
ver="${{ github.event.inputs.gcc_ver }}"
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
echo "GCCs available:"
awk '/Package: gcc-/{print $2}' /var/lib/apt/lists/*ubuntu-toolchain-r*Packages
sudo apt-get -y install gcc g++ gcc-$ver g++-$ver
sudo update-alternatives --remove-all gcc || true 2>&1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-$ver 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-$ver 100
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100
sudo update-alternatives --set c++ /usr/bin/g++
sudo update-alternatives --set gcc "/usr/bin/gcc-$ver"
sudo update-alternatives --set g++ "/usr/bin/g++-$ver"
fi
.github/workflows/scripts/qemu-3-deps-vm.sh ubuntu24
# We're running the VM scripts locally on the runner, so need to fix
# up hostnames to make it work.
for ((i=0; i<=3; i++)); do
echo "127.0.0.1 vm$i" | sudo tee -a /etc/hosts
done
- name: Build modules
timeout-minutes: 30
run: |
# Even though we may have installed a newer GCC, the kernel builds don't
# seem to honor it, and instead use the older GCC. I assume this is
# to match up with whatever GCC version was used for the kernel. Always
# specify KERNEL_CC to get around this. This works when using the
# default GCC and with a custom GCC.
KERNEL_CC=/usr/bin/gcc .github/workflows/scripts/qemu-4-build-vm.sh --enable-debug ubuntu24
# Quick sanity test since we're not running the full ZTS
sudo modprobe zfs
sudo dmesg | grep -i zfs
truncate -s 100M file
sudo zpool create tank ./file
zpool status
echo "Built ZFS successfully on ARM"