Dự án OpenZFS 2.2.1, phát triển việc triển khai hệ thống tệp ZFS cho Linux và FreeBSD. Bản phát hành này đáng chú ý nhờ việc bổ sung hỗ trợ nhân hệ điều hành. Linux 6.6 và nỗ lực loại bỏ vấn đề dẫn đến lỗi dữ liệu (ghi đè một số khối dữ liệu về 0) trong các tập tin sau khi chúng được sao chép.
Ban đầu, người ta cho rằng sự cố chỉ xuất hiện ở nhánh 2.2.x và nguyên nhân là do lỗi trong cơ chế sao chép khối có trong OpenZFS 2.2.0, cho phép bạn tạo bản sao của tệp hoặc một phần của tệp đó mà không cần sao chép. dữ liệu, sử dụng tham chiếu trong bản sao thứ hai đến các khối dữ liệu đã có của tệp nguồn mà không cần sao chép thực sự. Trong OpenZFS 2.2.1, để khắc phục sự cố, cơ chế sao chép khối đã bị tắt theo mặc định và cài đặt zfs_bclone_enabled đã được thêm vào để hỗ trợ chế độ này.
Sau đó, các nhà phát triển báo cáo đã tái hiện được sự cố trong các cấu hình với nhánh OpenZFS 2.1.x. Giả định rằng vấn đề chỉ xuất hiện trên các hệ thống có phiên bản cũ hơn của gói coreutils cũng không được xác nhận — lỗi đã được tái hiện thành công trên FreeBSD và Linux- Các bản phân phối có phiên bản coreutils 9.4 mới nhất.
Lỗi tập tin xảy ra trong một số trường hợp khá hiếm, ví dụ như chạy lệnh "emerge -1 dev-lang/go" trong Gentoo dẫn đến việc cài đặt bộ công cụ Go với các tập tin bị hỏng trong /usr/lib/go/pkg/tool/ linux_amd64/ thư mục.biên dịch. Người ta cho rằng lỗi bắt đầu xuất hiện sau khi cài đặt tham số mặc định “zfs_dmu_offset_next_sync=1” trong openzfs phiên bản 2.1.4. Nguồn gốc của lỗi vẫn chưa được xác định. Là một giải pháp được đề xuất để chặn lỗi, bạn nên đặt tham số “/sys/module/zfs/parameters/zfs_dmu_offset_next_sync” thành 0.
Nguồn: opennet.ru
