Zack's Kernel News
Freezing File Writes
Namjae Jeon posted some patches to implement file freezing – the idea being that a file write could be blocked temporarily, even if a process already held an open file descriptor. He said, "File write freeze functionality, when used in conjunction with inode's immutable flag, can be used for creating truly stable file snapshots, wherein write freeze will prevent any modification to the file from already open file descriptors, and immutable flag will prevent any new modification to the file. One of the intended uses for stable file snapshots would be in the defragmentation applications which defrags single file."
Dmitry Monakhov offered some technical suggestions for Namjae's patch but overall thought the work was interesting. Jan Kara also had some technical suggestions and pointed out that some of Namjae's test code contained race conditions. Namjae responded to all suggestions with code and pseudocode that might improve the behavior.
Jan also pointed out some problems with the overall design. Jan said:
Doing fs-wide freezing from userspace makes sense as Dmitry pointed out. We can then just fail FS_IOC_FWFREEZE with error when the whole fs isn't frozen. I'm just somewhat worried whether the fs-wide freezing won't be too fragile. E.g. consider a situation when you are running a defrag program which is freezing and unfreezing the filesystem and then some background work kicks which will want to snapshot the file system so it will freeze & unfreeze the fs as well. Now depending on how exactly defrag and snapshot race one of the FIFREEZE ioctls will return EBUSY and the process (hopefully gracefully) fails.
This isn't a new situation – if you ran two snapshots at once, you'd see the same failure. But the more fs-wide freezing gets used in different places the stranger and less expected failure you'll see … .
Dave Chinner also had some technical suggestions, although he agreed that some of the code was "terrible racy." Namjae continued to offer new patches and ideas for how to adapt all the feedback.
It seems as though there are two issues getting in the way of Namjae's patches. The first would be the race conditions, and the second would be the fragility of the code itself – the likelihood that new race conditions could be inadvertently inserted. Overall, the feature itself – freezing writes – seems like something that no one opposes. So, you could expect some kind of implementation in the not-too-distant future.
« Previous 1 2
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
TUXEDO Computers Unveils Linux Laptop Featuring AMD Ryzen CPU
This latest release is the first laptop to include the new CPU from Ryzen and Linux preinstalled.
-
XZ Gets the All-Clear
The back door xz vulnerability has been officially reverted for Fedora 40 and versions 38 and 39 were never affected.
-
Canonical Collaborates with Qualcomm on New Venture
This new joint effort is geared toward bringing Ubuntu and Ubuntu Core to Qualcomm-powered devices.
-
Kodi 21.0 Open-Source Entertainment Hub Released
After a year of development, the award-winning Kodi cross-platform, media center software is now available with many new additions and improvements.
-
Linux Usage Increases in Two Key Areas
If market share is your thing, you'll be happy to know that Linux is on the rise in two areas that, if they keep climbing, could have serious meaning for Linux's future.
-
Vulnerability Discovered in xz Libraries
An urgent alert for Fedora 40 has been posted and users should pay attention.
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.