{"id":111888,"date":"2023-12-01T09:10:14","date_gmt":"2023-12-01T07:10:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov"},"modified":"2023-12-01T09:10:14","modified_gmt":"2023-12-01T07:10:14","slug":"obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/news\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov","title":{"rendered":"Update OpenZFS 2.1.14 and 2.2.2 addresses a bug leading to file corruption","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Corrective releases for OpenZFS versions 2.1.14 and 2.2.2 have been issued, advancing the implementation of the ZFS file system for Linux and FreeBSD. The updates resolve an issue in the dnode cache consistency check code that caused data corruption in files containing empty areas when copied after modifications.     <\/p>\n<p>Initially, the issue was attempted to be fixed in version 2.2.1, but the correction proved ineffective. The bug remained undetected for a long time and started to manifest following changes made to the utility 'cp' in the coreutils 9.x package. It is believed that in Red Hat Enterprise Linux and its derivative distributions, the problem does not appear, as RHEL 9 uses the coreutils 8.x package with different logic for the 'cp' utility.    <\/p>\n<p>The issue arises when using file copy utilities that can detect and optimize empty areas in files. Corruption may occur in heavily loaded file systems when copying a file if the operation is performed almost immediately after a modification, and part of the data remains only in the dirty cache and has not yet been flushed to disk.       <\/p>\n<p>To optimize handling of empty areas in files, OpenZFS, starting from release 0.6.2, supports SEEK_HOLE and SEEK_DATA operations, which allow skipping empty file areas when reading from disk. Detection of empty areas and storage of information about them occurs only after all remaining cached data related to the file has been flushed to disk. To initiate the flush in OpenZFS, there is a check that evaluates the presence of unsaved data in the cache and performs a forced flush of the necessary information to disk for using SEEK_HOLE and SEEK_DATA.       <\/p>\n<p>Unfortunately, the verification turned out to be incomplete, and under certain circumstances, the reset status data was inaccurately determined, resulting in outdated file content information remaining on the disk if a request occurred within a small window between two cache data flush operations. Read operations, optimizing the loading of empty areas, may have missed reading some data at this moment, considering it empty, while a program working with the file could have made changes to those empty areas beforehand. As a result, using the 'cp' utility could lead to a copy being created that contained empty areas where none existed in the original file.<br \/>\n<br \/>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60212\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 OpenZFS 2.1.14 \u0438 2.2.2, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ZFS \u0434\u043b\u044f Linux \u0438 FreeBSD. \u0412 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u044d\u0448\u0430 dnode, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0430\u044f \u043a \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0430\u0445, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445 \u043f\u0443\u0441\u0442\u044b\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u043f\u0440\u0438 \u0438\u0445 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u043e\u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0443\u0441\u0442\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0432\u0435\u0440\u0441\u0438\u0438 2.2.1, \u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e. \u041e\u0448\u0438\u0431\u043a\u0430 \u0434\u043e\u043b\u0433\u043e\u0435 [&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-111888","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=\"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 OpenZFS 2.1.14 \u0438 2.2.2, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ZFS \u0434\u043b\u044f Linux \u0438 FreeBSD.\" \/>\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\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov\" \/>\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\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 OpenZFS 2.1.14 \u0438 2.2.2 \u0441 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0435\u0439 \u043a \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 OpenZFS 2.1.14 \u0438 2.2.2, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ZFS \u0434\u043b\u044f Linux \u0438 FreeBSD.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/news\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov\" \/>\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-12-01T07:10:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-12-01T07:10:14+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\udd47OpenZFS 2.1.14 and 2.2.2 update addressing a bug that leads to file corruption | ProHoster","description":"Corrective releases of the OpenZFS project 2.1.14 and 2.2.2 have been formed, enhancing the implementation of the ZFS file system for Linux and FreeBSD.","canonical_url":"https:\/\/prohoster.info\/en\/blog\/news\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov","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\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 OpenZFS 2.1.14 \u0438 2.2.2 \u0441 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0438, \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0449\u0435\u0439 \u043a \u043f\u043e\u0432\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432 | ProHoster","og:description":"\u0421\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 OpenZFS 2.1.14 \u0438 2.2.2, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b ZFS \u0434\u043b\u044f Linux \u0438 FreeBSD.","og:url":"https:\/\/prohoster.info\/en\/blog\/news\/obnovlenie-openzfs-2-1-14-i-2-2-2-s-ustraneniem-oshibki-privodyashhej-k-povrezhdeniyu-fajlov","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-12-01T07:10:14+00:00","article:modified_time":"2023-12-01T07:10:14+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\/111888","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=111888"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/111888\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=111888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=111888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=111888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}