{"id":109017,"date":"2023-06-19T15:10:24","date_gmt":"2023-06-19T13:10:24","guid":{"rendered":"https:\/\/prohoster.info\/?p=109017"},"modified":"2023-06-21T11:07:42","modified_gmt":"2023-06-21T09:07:42","slug":"prodvizhenie-bcachefs-v-sostav-yadra-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/prodvizhenie-bcachefs-v-sostav-yadra-linux","title":{"rendered":"Promotion of Bcachefs to the Linux kernel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kent Overstreet, the author of the SSD caching block device system BCache, presented at the LSFMM 2023 (Linux Storage, Filesystem, Memory Management &amp; BPF Summit), summarizing the progress made in advancing the Bcachefs filesystem into the mainline Linux kernel and discussed future development plans for this filesystem. An updated set of patches implementing Bcachefs was proposed in May for review and inclusion in the mainline Linux kernel. Bcachefs has been in development for about 10 years. The readiness for reviewing the Bcachefs implementation before its inclusion in the kernel was announced back in late 2020, and the current set of patches addresses the issues and shortcomings identified during the previous review.    <\/p>\n<p>The goal of developing Bcachefs is to achieve XFS levels of performance, reliability, and scalability while providing additional features characteristic of Btrfs and ZFS, such as multi-device pooling, layered storage configurations, replication (RAID 1\/10), caching, transparent data compression (LZ4, gzip, and ZSTD modes), snapshots, integrity verification through checksums, the ability to store Reed-Solomon error correction codes (RAID 5\/6), and storing information in an encrypted form (using ChaCha20 and Poly1305). In terms of performance, Bcachefs outperforms Btrfs and other Copy-on-Write based filesystems, showing speeds close to Ext4 and XFS.       <\/p>\n<p>Recent achievements in Bcachefs development include the stabilization of writeable snapshots. Compared to Btrfs, snapshots in Bcachefs now scale significantly better and are free from the issues characteristic of Btrfs. In practice, snapshot functionality has been tested for MySQL backup solutions. Substantial work has also been carried out in Bcachefs to enhance scalability\u2014 the file system has performed well in tests with 100 TB storage, and implementation in a 1 PB storage solution is expected soon. A new nocow mode has been added to disable the copy-on-write mechanism. Over the summer, there are plans to stabilize the implementation of error correction codes and RAIDZ, as well as to address high memory consumption issues during recovery and verification of the file system with the fsck utility.     <\/p>\n<p>Future plans include a desire to use the Rust programming language in the development of Bcachefs. The author of Bcachefs believes in programming rather than debugging, and now finds it crazy to write code in C when a better option is available. Rust is already utilized in Bcachefs for implementing several utilities running in user space. Furthermore, there is an idea to gradually rewrite Bcachefs entirely in Rust, as using this language significantly saves debugging time.      <\/p>\n<p>Regarding the promotion of Bcachefs to the mainline of the Linux kernel, the acceptance process may be prolonged due to the considerable size of the changes (2,500 patches and about 90,000 lines of code), which are difficult to review. To expedite the review process, some developers have suggested breaking the series of patches into smaller, logically separated parts. During discussions, some participants also noted the concern of the project being developed by a single developer and the risk that the code could be left without support if something were to happen to the developer (two Red Hat employees have shown interest in the project, but their work is currently limited to bug fixes).      <\/p>\n<p>Bcachefs is evolving using technologies already proven in the development of the Bcache block device, which is intended to cache access to slow hard drives on fast SSDs (included in the kernel since version 3.10). Bcachefs utilizes a Copy-on-Write (COW) mechanism, where changes do not lead to data overwriting\u2014the new state is written to a new location, after which the pointer to the current state is updated.     <\/p>\n<p>A distinctive feature of Bcachefs is the support for layered storage connections, where storage is composed of multiple layers\u2014the bottom layer connects the fastest drives (SSDs), which are used for caching frequently accessed data, while the upper layer consists of larger and cheaper disks that store less frequently accessed data. Writeback caching can be applied between the layers. Drives can be dynamically added and removed from the partition without stopping the use of the file system (data migrates automatically).<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59314\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u0435\u043d\u0442 \u041e\u0432\u0435\u0440\u0441\u0442\u0440\u0438\u0442 (Kent Overstreet), \u0430\u0432\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 SSD-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f\u0445 BCache, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 LSFMM 2023 (Linux Storage, Filesystem, Memory Management &#038; BPF Summit) \u043e\u0431\u043e\u0431\u0449\u0438\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u043e \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b Bcachefs \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u043f\u043b\u0430\u043d\u0430\u0445 \u043f\u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e \u0434\u0430\u043d\u043d\u043e\u0439 \u0424\u0421. \u0412 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-109017","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u0435\u043d\u0442 \u041e\u0432\u0435\u0440\u0441\u0442\u0440\u0438\u0442 (Kent Overstreet), \u0430\u0432\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 SSD-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f\u0445 BCache, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 LSFMM 2023 (Linux Storage, Filesystem, Memory.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/news\/prodvizhenie-bcachefs-v-sostav-yadra-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 Bcachefs \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u0435\u043d\u0442 \u041e\u0432\u0435\u0440\u0441\u0442\u0440\u0438\u0442 (Kent Overstreet), \u0430\u0432\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 SSD-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f\u0445 BCache, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 LSFMM 2023 (Linux Storage, Filesystem, Memory.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/prodvizhenie-bcachefs-v-sostav-yadra-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-06-19T13:10:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-06-21T09:07:42+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Promotion of Bcachefs to the Linux kernel | ProHoster","description":"Kent Overstreet, the author of the BCache SSD block device caching system included in the Linux kernel, presented at the LSFMM 2023 conference (Linux Storage, Filesystem, Memory).","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/prodvizhenie-bcachefs-v-sostav-yadra-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 Bcachefs \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux | ProHoster","og:description":"\u041a\u0435\u043d\u0442 \u041e\u0432\u0435\u0440\u0441\u0442\u0440\u0438\u0442 (Kent Overstreet), \u0430\u0432\u0442\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0439 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044f\u0434\u0440\u0430 Linux \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 SSD-\u043d\u0430\u043a\u043e\u043f\u0438\u0442\u0435\u043b\u044f\u0445 BCache, \u0432 \u0441\u0432\u043e\u0451\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 LSFMM 2023 (Linux Storage, Filesystem, Memory.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/prodvizhenie-bcachefs-v-sostav-yadra-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2023-06-19T13:10:24+00:00","article:modified_time":"2023-06-21T09:07:42+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/109017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=109017"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/109017\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=109017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=109017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=109017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}