Mae Kent Overstreet wedi cyhoeddi system ffeiliau Bcachefs 1.33.0. Mae'r datganiad yn cynnwys dau becyn: bcachefs-kernel-dkms, sy'n cynnwys modiwl cnewyllyn a adeiladwyd gan ddefnyddio'r system Dynamic Kernel Module Support (DKMS), a bcachefs-tools, sy'n cynnwys y cyfleustodau bcachefs gofod-defnyddiwr, sy'n gweithredu gorchmynion ar gyfer creu (mkfs), gosod, adfer a gwirio'r system ffeiliau. Mae'r pecynnau wedi'u llunio ar gyfer Debian, Ubuntu, Fedora, openSUSE, NixOS ac Arch LinuxMae'r modiwl DKMS yn cefnogi gweithio gyda chnewyllyn Linux, gan ddechrau o 6.16.
Mae'r fersiwn newydd yn ychwanegu swyddogaeth "cymodi" (rebalance_v2), sy'n cael ei ystyried y newid mwyaf i'r system ffeiliau yn ystod y ddwy flynedd ddiwethaf. Yn wahanol i'r modd "ail-gydbwyso" a oedd ar gael yn flaenorol, mae'r mecanwaith "cymodi" yn caniatΓ‘u ail-gydbwyso nid yn unig data (er enghraifft, atgynhyrchu copΓ―au lluosog i wahanol yriannau) ond hefyd metadata system ffeiliau (er enghraifft, i fudo metadata ar Γ΄l ychwanegu gyriant ychwanegol at y pwll). Ar ben hynny, mae cymodi bellach yn berthnasol i bob opsiwn Mewnbwn/Allbwn, nid dim ond gweithrediadau copΓ―o a chywasgu cefndir. Mae Cymodi hefyd yn cyfrif yn awtomatig am newidiadau i opsiynau neu osodiadau dyfeisiau ac yn ail-atgynhyrchu data a metadata sydd wedi'u diraddio ar unwaith.
Mae Cymodi yn defnyddio mynegeion ar wahΓ’n ar gyfer: gweithrediadau blaenoriaeth uchel; optimeiddio prosesu data ar yriannau disg; a data sydd wedi'i amserlennu i'w brosesu nad yw ar gael ar hyn o bryd (er enghraifft, oherwydd diffyg lle). Ychwanegwyd cefnogaeth ar gyfer creu system ffeiliau ar un yriant mewn modd dyblygu deuol (replicas=2). Yn y ffurfweddiad hwn, bydd ychwanegu ail yriant yn dyblygu data yn awtomatig i'r gyriant ychwanegol, heb unrhyw ryngweithio gan y defnyddiwr.
Mae newidiadau eraill yn cynnwys:
- Ychwanegwyd y gorchmynion "reconcile status" a "reconcile wait". Ychwanegwyd yr opsiynau mowntio "mount_trusts_udev" a "writeback_timeout". Diddymwyd y gorchmynion "data rereplicate" a "data job drop_extra_replicas".
- Ychwanegwyd modd adfer "merge_btree_nodes" sy'n gwirio pob nod mewn strwythurau btree sy'n destun gweithrediadau uno.
- Mae'r cod wedi'i baratoi ar gyfer y newid i'r iaith Rust. Mae nifer y gweithrediadau goto a ddefnyddir yn y cod wedi'i leihau o 2500 i 600. Mae fectorau wedi'u codio'n agored wedi'u disodli gan y macro DARRAY(), sy'n darparu ymarferoldeb tebyg i araeau deinamig yn C++ a Rust. Caiff trin gwallau ei drin gan ddefnyddio'r macro try(), wedi'i fenthyg o Rust.
- Mae'r gorchymyn "bcachefs fs usage" bellach yn adrodd data sydd wedi'i ddiraddio yn gywir.
- Mae'r ffordd y mae'r cownteri a ddangosir gan y gorchymyn "bcachefs fs top" yn cael eu trin wedi'i hailweithio. Mae ychwanegu cownteri newydd wedi'i symleiddio, ac mae'r gallu i drosi pwyntiau olrhain yn printbufs wedi'i weithredu.
- Mae ansawdd negeseuon gwall wedi gwella. Maent bellach yn cynnwys gwybodaeth am y mathau o fethiannau (meddalwedd neu galedwedd), camau gweithredu i ddatrys y gwall (e.e., cychwyn proses adfer), codau gwall Mewnbwn/Allbwn a dderbyniwyd o ddyfeisiau bloc, a dyfeisiau coll. Wrth sganio strwythurau coeden b, mae gwybodaeth ynghylch a ellir adfer nodau problemus bellach yn cael ei harddangos.
- Wrth ysgrifennu i'r log, ychwanegwyd y gallu i ddiffinio terfynau ar wahΓ’n ar ddwyster allbwn gwahanol fathau o wallau. Mae'r terfynau hyn yn atal negeseuon am broblemau caledwedd ynysig rhag cael eu colli ymhlith nifer fawr o negeseuon gwall meddalwedd.
- Mae dangosyddion cynnydd wedi'u hychwanegu ar gyfer pob cam adferiad.
Mae prosiect Bcachefs yn datblygu system ffeiliau gyda'r nod o gyfuno ymarferoldeb uwch Btrfs a ZFS Γ’ pherfformiad, dibynadwyedd a graddadwyedd XFS. Mae Bcachefs yn cefnogi nodweddion fel dyfeisiau lluosog fesul rhaniad, cynlluniau gyriant aml-haenog (yr haen waelod gyda data a gyrchir yn aml yn seiliedig ar SSDs cyflym, a'r haen uchaf gyda data a gyrchir yn llai aml o yriannau caled), dyblygu (RAID 1/10), storio dros dro, cywasgu data tryloyw (moddau LZ4, gzip, a ZSTD), sleisys cyflwr (cipluniau), gwirio cyfanrwydd gan ddefnyddio symiau gwirio, y gallu i storio codau cywiro gwall Reed-Solomon (RAID 5/6), a storio data wedi'i amgryptio (gan ddefnyddio ChaCha20 a Poly1305). O ran perfformiad, mae Bcachefs yn perfformio'n well na Btrfs a systemau ffeiliau eraill yn seiliedig ar y mecanwaith CopΓ―o-ar-Ysgrifennu, ac yn dangos cyflymder gweithredu sy'n agos at Ext4 ac XFS.
Ffynhonnell: opennet.ru
