TECHNOLOGY

How Open ZFS And ZFS On Linux Appeared And Versioning Problems

Sun Microsystems created ZFS for the proprietary Solaris operating system. It appeared as a replacement for UFS, which was supposed to cover any needs from the file system for a long time (the very name ZFS is typical – Zettabyte File System, a hint of unattainable volumes) 

After the product began to be distributed with open source under the CDDL license and the name OpenSolaris

Then Oracle bought Sun Microsystems, and the project was transferred back to the proprietary category. Before this, FreeBSD managed to attract the code; Apple had some developments; they even built the implementation into the standard distribution but abandoned it, eventually introducing their analog of AFS. At the same time, a fork appeared that turned into OpenZFS. First, those who wished to work on OpenSolaris then created OpenZFS, under which they gathered all the efforts within Illumos (a fork of OpenSolaris).

ZFS on Linux has a different story. The US Livermore National Laboratory used Luster FS as a distributed file system for supercomputers. Its peculiarity is that on each node under it, another local Ldiskfs file system is used – this is a patched Ext3, the developments of which served as the basis for Ext4. Ldiskfs had several shortcomings, and ZFS was supposed to replace this file system, so the ZFS on Linux project was born.

OpenZFS has a versioning issue. There is ZFS from Oracle, and there is OpenZFS; the latter cannot repeat the proprietary version, nor is it trivial to get its source code. Initially, both the pool and the dataset in ZFS had a version; when updating Solaris, you could raise the corresponding version. After the upgrade, the pool may not be imported in the old code at all, or it may be imported in read-only mode.

The OpenZFS project already had many implementations: FreeBSD, Linux, Solaris, macOS; it was necessary to link all the developments. For this, they came up with feature flags, the so-called. Functional flags. For example, you check the box that the pool supports LZ4 compression, and then you look at it from the code – the feature is supported / not supported (that is, is it possible to import the pool).

Each flag has a signature – is it possible to import a pool with it in read-only mode since many things are important only when data changes on media. Each implementation began to acquire its feature flags, and platforms transferred them between each other through backports.

ZFS is not included in the Linux kernel, and other filesystems in Linux come out of the box, i.e., in the core. The issue of inclusion in the kernel is a license issue; this is a complex issue. However, there is a separate kernel module it can be updated without problems, regardless of the kernel version.

Linux Has Two Mechanisms For This

  1. DKMS is a dynamic build from the source. We automatically set the headers needed to build the module; it arrives and is automatically assembled with the necessary parameters. In the worst case, if compatibility is not checked, DKMS will not build and report anything about it, but the risk is very small. The maintainers of distribution-specific package repositories can check package compatibility with available kernel versions.
  2. KMOD – the kernel module comes from the repository in binary form; a specific assembly is compatible with a certain version of the kernel ABI. There is no risk of module build issues common with DKMS, but module package maintainers should promptly provide new versions when fresh kernels become available.

The difference comes from the package: the source code as in DKMS or the binary file as in KMOD.

Also Read: What Is a Software Application And What Is It Used For

Technology Hunger

We, at Technology Hunger, publish and promote all the latest technology news and updates. We cover all the trending areas of technology and bring all the latest news for our viewers.

Recent Posts

Top Productivity Tools: The Next Generation 18 Best Productivity Apps For 2024

This digital age features the new next generation app breakthroughs which instantly emerge and metamorphose…

19 hours ago

wellhealthorganic.com : Remove Dark Spots On Face Tang – Lemon Juice Step-By-Step Remedies

Description: Learn how to remove dark spots naturally using the tang of lemon juice. WellHealthOrganic.com…

1 day ago

How To Grow Car Dealerships On Instagram

When it comes to selling cars, there are many things that dealers can do to…

3 days ago

Debunking 5 Myths About Marketing Automation

Good day! Lyudmila is in touch; she is a marketer at Altcraft. Marketing automation will…

3 days ago

4 Tips On Finding The Right HR Tech For Your Business

Arguably, being part of your business' HR department means that you'll be doing a lot…

3 days ago

How To Start An Advertising Campaign On Facebook Ads

Advertising, Social Media, And Facebook Ads Facebook Ads, "tailored" advertising, but also integration with the…

3 days ago