🌗 磁碟只是一堆位元
➤ 揭開檔案儲存的神祕面紗
https://www.cyberdemon.org/2023/07/19/bunch-of-bits.html
這篇文章深入探討了檔案在磁碟上的儲存方式。作者從「磁碟只是一堆位元」這個概念出發,一步步展示如何使用工具(如 `stat` 和 `debugfs`)來解析檔案的 inode,並最終找到 inode 在磁碟上的實際位置以及其原始位元資料。文章不僅解釋了 inode 的作用,也說明瞭檔案系統如何將這些位元轉化為我們熟悉的檔案和目錄結構。
+ 這篇文章真的很有趣!我一直很好奇檔案在硬碟裡到底是什麼樣子,這篇文章用很清楚的方式解釋了這個問題,而且還能實際操作,非常棒。
+ 雖然有些技術細節有點難懂,但作者的思路很清晰,一步步引導你瞭解檔案系統的運作原理,讓人對電腦的理解更深入了。
#電腦科學 #檔案系統 #Linux #inodes
A disk is a bunch of bits

We've heard that a disk is a "bunch of bits", so let's get dirty and personal with those bits.

cyberdemon.org
🌘 ZFS:蘋果未竟的新檔案系統
➤ 蘋果與ZFS的愛恨情仇
https://ahl.dtrace.org/2016/06/15/apple_and_zfs/
本文回顧了蘋果公司與ZFS檔案系統之間複雜的關係。從2006年蘋果展示類似ZFS功能的Time Machine,到多次嘗試將ZFS整合至Mac OS X,最終卻因各種因素(包含Sun公司的收購、法律訴訟、內部政治以及「不發明」的偏好)而宣告放棄的過程。作者以自身參與者的角度,細述了蘋果對ZFS的興趣、期待、猶豫與最終的放棄,揭示了科技產業中技術採用決定的複雜性。
+ 真是令人惋惜,ZFS如果能成功整合到Mac OS X,絕對能大幅提升系統的穩定性和安全性。
+ 這篇文章揭示了科技公司內部決策的複雜性,技術好壞不一定能決定最終的結果,政治和商業考量往往更重要。
#科技 #蘋果 #檔案系統 #ZFS
ZFS: Apple's New Filesystem That Wasn't

Adam Leventhal's Blog

🌘 ext4 檔案系統中檔案順序並無影響
➤ 一個關於目錄雜湊種子如何影響應用程式的除錯故事
https://thewisenerd.com/blog/ext4-readdir/
本文記錄了作者在生產環境中 JVM 工作負載因 Node Image Patch 更新導致應用程式初始化卡住的除錯過程。問題的根源並非 Buildah 層級排序、OverlayFS 層級排序,而是 ext4 檔案系統目錄雜湊種子 (directory hash seed) 的變更導致 classpath 中 jar 檔案的順序改變,進而引發異常。作者透過實驗,確認了 ext4 檔案系統的目錄順序與雜湊種子有關,並最終透過修改 block image 檔案中的雜湊種子解決了問題。
+ 這篇文章非常詳細地記錄了除錯過程,對於理解 ext4 檔案系統的內部機制很有幫助。
+ 沒想到檔案順序竟然會影響應用程式的運行,這真是一個令人意想不到的 bug!
#系統管理 #Docker #檔案系統 #除錯
thewisenerd's blog – the order of files in your ext4 filesystem does not matter

🌘 FSKit | Apple 開發者文件
➤ 擴展 macOS 檔案系統的新框架
https://developer.apple.com/documentation/fskit
FSKit 讓開發者能夠擴展 macOS,存取新型態的檔案系統。透過開發 FSKit 模組(FSModule),以使用者空間的應用程式擴充功能形式提供,並與 Mac App Store 兼容。FSKit 支援兩種設計流程:FSFileSystem (功能完整) 與 FSUnaryFileSystem (簡潔),目前僅支援後者。文件詳述了 FSModule 的組成、關鍵概念(Volume、Resource、Container)以及相關協議和類別,例如 UnaryFileSystemExtension、FSUnaryFileSystem、FSResource 等,同時也涵蓋了錯誤處理、日誌記錄和與 FSKit 的互動方式。
+ 這對想要開發自定義檔案系統的開發者來說,是一個很棒的工具,但希望未來能支援更多 FSFileSystem 功能。
+ 蘋果持續開放系統,讓第三
#蘋果 #開發者 #文件 #檔案系統
FSKit | Apple Developer Documentation

Implement a file system that runs in user space.

Apple Developer Documentation
🌘 檔案系統的50年:1984年 | 伊索托普的奇妙世界
➤ 1984年——BSD快速文件系統的創新
https://blog.koehntopp.info/2023/05/06/50-years-in-filesystems-1984.html
本文回顧了1984年BSD快速文件系統的創新與發展。傳統Unix文件系統存在諸多不足,BSD旨在通過重新實施來提高吞吐量、分配效率和引用的局部性。文章討論了硬件發展、文件系統的結構缺陷、碎片化問題以及BSD FFS通過氣缸組(Cylinder Groups)等方法的創新來提升性能。
+ 這篇文章讓我對1984年的技術進步有了更深入的瞭解!
+ 非常詳細的回顧,讓我理解了現代檔案系統的基礎。
#檔案系統
50 years in filesystems: 1984 | Die wunderbare Welt von Isotopp

Kris Köhntopp's blog (Fedi: @isotoppinfosec.exchange)

Die wunderbare Welt von Isotopp
🌘 Btrfs 的分配器提示
➤ 如何為 Btrfs 啟用分配器提示
https://wiki.tnonline.net/w/Btrfs/Allocator_Hints
Btrfs 引入的分配器提示功能允許用戶設定優先分配特定設備進行元數據及數據的配置,以優化 SSD 和 HDD 混合配置的效能。
+ 這篇文章對於有多種儲存設備的使用者非常有幫助!
+ 我一直在尋找提升 Btrfs 效能的方法,這篇真是提供了寶貴的資訊!
#檔案系統
Allocator Hints for Btrfs | Forza's Ramblings

Allocator hints in Btrfs allow prioritisation of devices for data and metadata, improving performance and flexibility.

Forza's Ramblings
🌘 檔案充滿危險
➤ 深入檔案系統的挑戰與解決方案
https://danluu.com/deconstruct-files/
本文探討了檔案系統的複雜性及其在開發中的挑戰,尤其在支持多種檔案系統而又不損害數據時的困難。演講者分享瞭如何正確處理檔案寫入,確保數據的原子性,以及在遇到崩潰或電力中斷時如何避免數據損壞的方法,包括使用撤銷日誌等技術。
+ 這個主題太有趣了,我從未想過檔案系統的細節竟這麼複雜!
+ 我學到了很多關於數據完整性保護的知識,感謝分享!
#檔案系統
Files are fraught with peril

🌗 Bcachefs, 介紹/探索
➤ 新一代Bcachefs文件系統
http://blog.asleson.org/2024/07/24/bcachefs-an-introduction/exploration/
本文介紹了Bcachefs的基本信息,包括其特點和相對於其他文件系統的優勢。
+ 此文章內容豐富,對於Bcachefs有了更清晰的認識。
+ 看完這篇文章後我對Bcachefs有了更深入的理解。
#檔案系統 #Bcachefs
Bcachefs, an introduction/exploration - blog.asleson.org

Introduction & background information NOTE: This content is from an internal talk I gave, thus the reason it may read like a presentation So what is bcachefs? bcachefs is a next-generation copy-on-write (COW) filesystem (FS) that aims to provide features similar to Btrfs and ZFS, written by Kent Overstreet Copy-on-write (COW), with goal of performance being better than other COW filesystems Full checksums on everything Mult-device, replication , RAID, Caching, Compression, Encryption Sub-volumes, snapshots Scalable, 50+ TB tested Why the need for another FS?

blog.asleson.org
🌕 在Google Drive啟動Linux
➤ Linux啟動新境界
https://ersei.net/en/blog/fuse-root
這是一篇關於將Linux從Google Drive啟動的挑戰性計畫。作者描述了過程中的困難和創意解決方案,最終實現了在S3存儲桶上啟動Linux的成就。
+ 這篇文章展示了作者對技術的深入理解和創造力,通過挑戰性的項目不斷提升自己的能力。
+ 這個實驗不僅突破了傳統Linux啟動方式的限制,也為未來的技術探索提供了啟示。
#[Linux #檔案系統]
Booting Linux off of Google Drive

Competitiveness is a vice of mine. When I heard that a friend got Linux to boot off of NFS, I had to one-up her. I had to prove that I could create...

🌘 標題: 使用Rust編譯器檢查檔案系統崩潰一致性
➤ 一種在編譯時檢查崩潰一致性的新型檔案系統
https://arxiv.org/abs/2406.09649
本文介紹了一種建構持久記憶體崩潰安全檔案系統的新方法。我們利用了Rust的型態狀態模式,在編譯時強制執行特定操作的順序。我們引入了一種新的崩潰一致性機制,同步軟更新,將崩潰安全性簡化為強制執行檔案系統元數據更新的順序。我們使用這個方法建構了SquirrelFS,一個能在編譯時檢查崩潰一致性的新檔案系統。SquirrelFS避免了需要單獨證明的必要,而是將正確性保證納入型態狀態本身。SquirrelFS的編譯僅需幾十秒;成功編譯表示崩潰一致性,錯誤則提供修復漏洞的起點。我們對SquirrelFS進行了與NOVA和WineFS等最新技術的檔案系統的評估,發現在廣泛的基準和應用程式上,SquirrelFS實現了類似或更好的性能。
+ 這篇文章介紹的檔案系統技術非常有趣,對於未來檔案系統的發展有著潛在的影響。
+ 使用Rust編譯器來確保檔案系統的崩潰一致性,這種方法看起來
#檔案系統 #程式語言 #崩潰一致性 #Rust
SquirrelFS: using the Rust compiler to check file-system crash consistency

This work introduces a new approach to building crash-safe file systems for persistent memory. We exploit the fact that Rust's typestate pattern allows compile-time enforcement of a specific order of operations. We introduce a novel crash-consistency mechanism, Synchronous Soft Updates, that boils down crash safety to enforcing ordering among updates to file-system metadata. We employ this approach to build SquirrelFS, a new file system with crash-consistency guarantees that are checked at compile time. SquirrelFS avoids the need for separate proofs, instead incorporating correctness guarantees into the typestate itself. Compiling SquirrelFS only takes tens of seconds; successful compilation indicates crash consistency, while an error provides a starting point for fixing the bug. We evaluate SquirrelFS against state of the art file systems such as NOVA and WineFS, and find that SquirrelFS achieves similar or better performance on a wide range of benchmarks and applications.

arXiv.org