News: 0001508710

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

exFAT Driver With Linux 6.13 Reduces FAT Chain Traversal For Better Performance

([Linux Storage] 4 Hours Ago exFAT)


For those making use of the Microsoft [1]exFAT file-system on Linux systems, the upcoming Linux 6.13 kernel brings an optimization that will help some operations by reducing the FAT chain traversal.

For the most part the exFAT updates In Linux 6.13 aren't too interesting. Per the Wednesday night [2]pull request :

- Handle it as the empty directory if the start cluster of stream entry is invalid.

- Valid size of steam entry cannot be greater than data size.

If valid_size is invalid, Deal with data_size.

- Move Direct-IO alignment check to before extending the valid size.

- Fix uninit-value issue reported by syzbot.

- Optimize to find directory entry-set in write_inode, rename, unlink.

The last one is interesting to optimize the find directory entry-set for writing inode, rename, and unlink operations.

That work ultimately comes down to a set of patches by Yuezhang Mo to reduce the FAT chain traversal. Yuezhang Mo explained in that patch series:

"Before this commit, ->dir and ->entry of exfat_inode_info record the first cluster of the parent directory and the directory entry index starting from this cluster.

The directory entry set will be gotten during write-back-inode/rmdir/ unlink/rename. If the clusters of the parent directory are not continuous, the FAT chain will be traversed from the first cluster of the parent directory to find the cluster where ->entry is located.

After this commit, ->dir records the cluster where the first directory entry in the directory entry set is located, and ->entry records the directory entry index in the cluster, so that there is almost no need to access the FAT when getting the directory entry set."

It should be a worthwhile optimization but no numbers were provided with the patches to quantify the performance impact of avoiding the FAT chain traversal when renaming or deleting files/folders.

In any event the exFAT support for Linux continues moving along.



[1] https://www.phoronix.com/search/exFAT

[2] https://lore.kernel.org/lkml/CAKYAXd9nv9eEHgt55sWBWo98bkOXctDJGjQo+FSJYtVGwtKOhA@mail.gmail.com/



gnarlin

stormcrow

The Worst Prison Guards
The largest number of convicts ever to escape simultaneously from a
maximum security prison is 124. This record is held by Alcoente Prison,
near Lisbon in Portugal.
During the weeks leading up to the escape in July 1978 the prison
warders had noticed that attendances had fallen at film shows which
included "The Great Escape", and also that 220 knives and a huge quantity
of electric cable had disappeared. A guard explained, "Yes, we were
planning to look for them, but never got around to it." The warders had
not, however, noticed the gaping holes in the wall because they were
"covered with posters". Nor did they detect any of the spades, chisels,
water hoses and electric drills amassed by the inmates in large quantities.
The night before the breakout one guard had noticed that of the 36
prisoners in his block only 13 were present. He said this was "normal"
because inmates sometimes missed roll-call or hid, but usually came back
the next morning.
"We only found out about the escape at 6:30 the next morning when
one of the prisoners told us," a warder said later. [...] When they
eventually checked, the prison guards found that exactly half of the gaol's
population was missing. By way of explanation the Justice Minister, Dr.
Santos Pais, claimed that the escape was "normal" and part of the
"legitimate desire of the prisoner to regain his liberty."
-- Stephen Pile, "The Book of Heroic Failures"