Second interview with Reiser4 developer Eduard Shishkin

Recently, Eduard Shishkin contacted me and asked to publish an interview (which I am happy to do) in a question-answer format.

The first interview (2010) can be found here .





- To begin with, please remind the readers where and with whom you work.





I work as Principal Storage Architect at Huawei Technologies, German Research Center. In the virtualization department, I deal with various aspects of data storage. My activity is not related to a specific operating system.





- Are you committing to mainline now?





, . , , 9p ( - VirtFS). : , , , " ", . , - , . , - - .





β€” , , , . (, , ) -, ? , , -, ?





- . - , , , , " ", , . Computer science, , . - 2x2 , 4, "Linux way", , . , . , . , , . , " ". - . , , - .





β€” Btrfs? ? β€” Β« Β» ?





. , 11 , . Btrfs, , - . , , . - . , . ( Linux 5.12). , , . . . - 50% ( 15%). - " ". 4 . : , ( 85%) - . , , , (, ), . , , 15% "" , , , . Btrfs ( , .), , ( "" , ) - .





( ). : Btrfs B-, . , "" , . , "" . "". , . Btrfs B-, .. Btrfs. 8-10 , " ", ( ) "Linux way". , , . . , 10 . , . " ", , "- ". "" . B- - , , !





Btrfs? , , . - , " ", c Btrfs . , , , , 30 . - Btrfs .





, , . . . , .





β€” Btrfs RHEL.





, . "technology preview". , "preview". ! by-design . RHEL - , - . Red Hat , Btrfs. : , , , , , . ? . Red Hat , . , , DoS-, Btrfs. , ? , GPL, , , : " !" Red Hat, , ! , Red Hat- , QA-, .





β€” Btrfs -?





, "" . - , . , GNU/Linux - RHEL. , , , . , , - , ( ""). , .. . , - .





, - , Facebook Btrfs . , .





β€” XFS? β€” , ext4 . Red Hat' XFS? β€” ext4 XFS?





, . , Red Hat. , : - . XFS ext4. . , - . , . ext4 XFS . , . . , , , . - , (", , !").





β€” layer violation ( ) ext4, F2FS ( RAID Btrfs)?





, - - , - . , "", , , block layer. "" . : , . , , block layer, . . , "" (bit rot). , -, .. , (, bitmap-, - .), kernel panic. , , block layer (.. RAID 1) . , : - ? , , . ( , ) -. . (, ) - . "" . layering violation - - . - RAID-5 . ( RAID / LVM ) . , layering violation " " . - , , .





Reiser4 "". , , , , , , (VFS).





β€” ReiserFS v3.6 , , JFS? . ?





, . , ( , ) - . , JFS ( ), ReiserFS (v3) ( ). , , , . , , , . " " . , , , . -. , ReserFS v3 Reiser4, .





β€” Tux3 HAMMER/HAMMER2 ( DragonFly BSD)?





, . Tux3 - (.. " "), Reiser4 , , . (snapshots) , Reiser4 . , "" , , B-. . , Reiser4, "" - , .





HAMMER: . . , B-. . .





β€” CephFS/GlusterFS/etc? ?





, . . , - . . , - , . - , " " " ", , : ", !". , . , , . . "Big Data" , , , ..





β€” , , ?





, . , , - " ". , . . page cache . " " . . IO-forwarding () . (server node) . ( , , ). , server node backend storage - (.. , ) . , , "" "" . - , (- ). . , ( -). backend storage , . (SSD, NVRAM .), " " , , . . , , 9p- QEMU - VirtFS. , , , . - . - . , GlusterFS . , NetBSD.





β€” ?





, , , , - . , , 4 , : , , , . , , , - (, ).





. -, . .. "" " ", LVM ( layering violation, ZFS). , ( ) (.. , -). , ( ), block layer , "" . , , , . : , . ZFS- ( LVM) ( , ..). ! , ( , ), , . . , - , . , ! , - . , - , , ! , , , / . -, , , .





, +LVM , . , , . , - . discard-, - , .. . , LVM, . , - . . . , ?





.. "Write-Anywhere" ( Reiser4, ). . , . , - . , . , - . , , . , "broken design". , . , . . , . ( , ). ( GlusterFS). - (fsck). , . , .





, (snapshots). LVM ZFS- , . . A ( / ) . . , , 100 , S . , S. : S? , , 100, 3 - A, B C, , (A B). C , C , , , C A B. , , S C . , , () ( ) c (, "" ). , - . : - , ? ! , . "3D-" , .





, - , ( -). , , , . +LVM : LVM , , ( ). LVM +LVM , - , . ZFS Btrfs, , - , layering violation ., ? , LVM. , (storage nodes). , . - DHT GlusterFS CRUSH map Ceph. , , . . 2015 , -, , . , . . , . , ? , , " " . - , . .





β€” (, blk-mq) ?





. , block layer, . . , block layer, ( reiser4 ).





β€” (, SMR, SSD) ?





. . . , , - . , - , . , , "".





β€” Reiser4 ?





, , . Reiser4 . " " - . " - !" - , . - , , , . , . "", "" , , .





β€” - Reiser4?





, , .. . , . , 30 , .





β€” Reiser4 ?





"" (resize) , ReiserFS(v3). , DIRECT_IO. , " ", , . , " ". , , ( ). Reiser4 - RAID-Z, , , 128- , .





β€” , , ?





(), , . , , . , - , instruction pointer, , X, , . "", , X ( X, ). , ( ), , "" - . - , , , . , , "" , . , . , " " . (, ).





β€” β€” Reiser4 ? , ? ?





, . , . - . , "" . . , , - . - ( , ). , - , . " " .





, , . , , - . - - . - , , . ? , - .





β€” Reiser4 ?





, , . , "" . , . , Reiser4 - : -.





, , - . Reiser4 -. . , (snapshots) - "OVERWRITE SET". Reiser4 . (Write-Anywhere) OVERWRITE SET ( ..), "" ( ). . OVERWRITE SET ( , ). , Reiser4 . ReiserFS (v3). , . ( ..), . Reiser4 , , , .





"" " ( ). - Reiser4 -. , ZFS Btrfs : . "" , . "".





, , , , ZFS, Btrfs, block layer, FS+LVM - , O(1)- , . . "" . , , , , , fsync(2). , block layer, bcache, . ( ). , , .. - - .





10. , , - "" -, reiser4. "format41".





β€” Reiser4 xfstests?





, , .





β€” Reiser4 () ?





, ! , ! backend storage, . . block layer, - ! , - . , , . ( .). -, , - . . !





β€” Reiser4 Linux' , FreeBSD ( : «…FreeBSD … … , Β»)?





, , : Reiser4 - . FreeBSD ! ! c , FreeBSD. : - , .





β€” Linux ? «»?





. . . - , - . . , , : .





β€” - ? , -, ?





, . . . . . . "", "" . "Btrfs" , . . . "", " ". , , . : , . ! "", "" - Btrfs systemd, docker, .. - .





- . Reiser4 . (, ) . - VFS, XFS ext4. VFS, , . VFS . Ext4 , , , . , - . , Linux, , - , ( , , , B-, ). . , , "". , "" , , "" , . , , . , - ZFS , . , , : - , . , - ZFS , , , ZFS : . ZFS - . ext4 XFS - .





"Linux file system of next generation". , , , " " Linux . , Linux "just for fun". . , . , , "" , - : , - , "". , . , - , ! : , , "": " ", .. , , "" , .. , " ": , ", .. . , - , "" . - , . . - . . , . .





, " " - , . Btrfs "" Bcachefs, Linux block layer ( ). : , Btrfs. , - - ! Bcachefs Btrfs, , , . " ". , . "" ( ). , , . "" , , "" , . . , , , -: , . , , .





, " ". , - . , , , "" . , - , . , , - . , . , , . . -. , (", "), . . . , , , . , : " " . , Linux VFS. , , , , , . . , 29- , " ". . !









All Articles