{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,8]],"date-time":"2026-04-08T08:54:03Z","timestamp":1775638443542,"version":"3.50.1"},"reference-count":100,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2019,4,20]],"date-time":"2019-04-20T00:00:00Z","timestamp":1555718400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["1751277"],"award-info":[{"award-number":["1751277"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2019,5,31]]},"abstract":"<jats:p>\n            We present C\n            <jats:sc>rash<\/jats:sc>\n            M\n            <jats:sc>onkey<\/jats:sc>\n            and A\n            <jats:sc>ce<\/jats:sc>\n            , a set of tools to systematically find crash-consistency bugs in Linux file systems. C\n            <jats:sc>rash<\/jats:sc>\n            M\n            <jats:sc>onkey<\/jats:sc>\n            is a record-and-replay framework which tests a given workload on the target file system by\n            <jats:italic>simulating<\/jats:italic>\n            power-loss crashes while the workload is being executed, and checking if the file system recovers to a correct state after each crash. A\n            <jats:sc>ce<\/jats:sc>\n            automatically generates all the workloads to be run on the target file system. We build C\n            <jats:sc>rash<\/jats:sc>\n            M\n            <jats:sc>onkey<\/jats:sc>\n            and A\n            <jats:sc>ce<\/jats:sc>\n            based on a new approach to test file-system crash consistency:\n            <jats:italic>bounded black-box crash testing<\/jats:italic>\n            (\n            <jats:italic>B<\/jats:italic>\n            <jats:sup>3<\/jats:sup>\n            ).\n            <jats:italic>B<\/jats:italic>\n            <jats:sup>3<\/jats:sup>\n            tests the file system in a black-box manner using workloads of file-system operations. Since the space of possible workloads is infinite,\n            <jats:italic>B<\/jats:italic>\n            <jats:sup>3<\/jats:sup>\n            bounds this space based on parameters such as the number of file-system operations or which operations to include, and exhaustively generates workloads within this bounded space.\n            <jats:italic>B<\/jats:italic>\n            <jats:sup>3<\/jats:sup>\n            builds upon insights derived from our study of crash-consistency bugs reported in Linux file systems in the last 5 years. We observed that most reported bugs can be reproduced using small workloads of three or fewer file-system operations on a newly created file system, and that all reported bugs result from crashes after fsync()-related system calls. C\n            <jats:sc>rash<\/jats:sc>\n            M\n            <jats:sc>onkey<\/jats:sc>\n            and A\n            <jats:sc>ce<\/jats:sc>\n            are able to find 24 out of the 26 crash-consistency bugs reported in the last 5 years. Our tools also revealed 10\n            <jats:italic>new<\/jats:italic>\n            crash-consistency bugs in widely used, mature Linux file systems, 7 of which existed in the kernel since 2014. Additionally, our tools found a crash-consistency bug in a verified file system, FSCQ. The new bugs result in severe consequences like broken rename atomicity, loss of persisted files and directories, and data loss.\n          <\/jats:p>","DOI":"10.1145\/3320275","type":"journal-article","created":{"date-parts":[[2019,4,22]],"date-time":"2019-04-22T12:12:12Z","timestamp":1555935132000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["CrashMonkey and ACE"],"prefix":"10.1145","volume":"15","author":[{"given":"Jayashree","family":"Mohan","sequence":"first","affiliation":[{"name":"University of Texas at Austin, Austin, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ashlie","family":"Martinez","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Soujanya","family":"Ponnapalli","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pandian","family":"Raju","sequence":"additional","affiliation":[{"name":"University of Texas at Austin, Austin, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vijay","family":"Chidambaram","sequence":"additional","affiliation":[{"name":"University of Texas at Austin and VMWare Research, Austin, TX"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,4,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129644"},{"key":"e_1_2_1_2_1","unstructured":"Amazon. 2018. Amazon EC2 On-Demand Pricing. https:\/\/aws.amazon.com\/ec2\/pricing\/on-demand\/.  Amazon. 2018. Amazon EC2 On-Demand Pricing. https:\/\/aws.amazon.com\/ec2\/pricing\/on-demand\/."},{"key":"e_1_2_1_3_1","unstructured":"Apple. 2018. fsync(2) Mac OS X Developer Tools Manual Page. https:\/\/developer.apple.com\/legacy\/library\/documentation\/Darwin\/Reference\/ManPages\/man2\/fsync.2.html.  Apple. 2018. fsync(2) Mac OS X Developer Tools Manual Page. https:\/\/developer.apple.com\/legacy\/library\/documentation\/Darwin\/Reference\/ManPages\/man2\/fsync.2.html."},{"key":"e_1_2_1_4_1","unstructured":"Josef Bacik. 2018. dm: Log Writes Target. https:\/\/www.redhat.com\/archives\/dm-devel\/2014-December\/msg00047.html.  Josef Bacik. 2018. dm: Log Writes Target. https:\/\/www.redhat.com\/archives\/dm-devel\/2014-December\/msg00047.html."},{"key":"e_1_2_1_5_1","unstructured":"Josef Bacik. 2013. xfstests: Add a Rename fsync Test. https:\/\/patchwork.kernel.org\/patch\/3234541\/.  Josef Bacik. 2013. xfstests: Add a Rename fsync Test. https:\/\/patchwork.kernel.org\/patch\/3234541\/."},{"key":"e_1_2_1_6_1","unstructured":"Josef Bacik. 2013. xfstests: Add Generic\/321 to Test fsync() on Directories V2. https:\/\/patchwork.kernel.org\/patch\/3234531\/.  Josef Bacik. 2013. xfstests: Add Generic\/321 to Test fsync() on Directories V2. https:\/\/patchwork.kernel.org\/patch\/3234531\/."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132779"},{"key":"e_1_2_1_8_1","unstructured":"Liu Bo. 2018. btrfs: Fix Unexpected -EEXIST When Creating New Inode. https:\/\/patchwork.kernel.org\/patch\/10184679\/.  Liu Bo. 2018. btrfs: Fix Unexpected -EEXIST When Creating New Inode. https:\/\/patchwork.kernel.org\/patch\/10184679\/."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872406"},{"key":"e_1_2_1_10_1","unstructured":"btrfs Wiki. 2018. btrfs Check. https:\/\/btrfs.wiki.kernel.org\/index.php\/Manpage\/btrfs-check.  btrfs Wiki. 2018. btrfs Check. https:\/\/btrfs.wiki.kernel.org\/index.php\/Manpage\/btrfs-check."},{"key":"e_1_2_1_11_1","unstructured":"Tej Chajed. 2018. Disable Logged Writes for Crash Safety. https:\/\/github.com\/mit-pdos\/fscq\/commit\/97b50eceedf15a2c82ce1a5cf83c231eb3184760.  Tej Chajed. 2018. Disable Logged Writes for Crash Safety. https:\/\/github.com\/mit-pdos\/fscq\/commit\/97b50eceedf15a2c82ce1a5cf83c231eb3184760."},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132776"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815402"},{"key":"e_1_2_1_15_1","unstructured":"Vijay Chidambaram. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77929.html.  Vijay Chidambaram. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77929.html."},{"key":"e_1_2_1_16_1","unstructured":"Vijay Chidambaram. 2018. btrfs: Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/fstests\/msg09379.html.  Vijay Chidambaram. 2018. btrfs: Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/fstests\/msg09379.html."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522726"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 10th USENIX Symposium on File and Storage Technologies (FAST\u201912)","author":"Chidambaram Vijay"},{"key":"e_1_2_1_19_1","unstructured":"Dave Chinner. 2018. btrfs: Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/fstests\/msg09363.html.  Dave Chinner. 2018. btrfs: Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/fstests\/msg09363.html."},{"key":"e_1_2_1_20_1","volume-title":"INFO: Task Hung in xlog_grant_head_check. https:\/\/lkml.org\/lkml\/2018\/5\/22\/1056.","author":"Chinner Dave","year":"2018"},{"key":"e_1_2_1_21_1","unstructured":"Dave Chinner. 2018. Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76835.html.  Dave Chinner. 2018. Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76835.html."},{"key":"e_1_2_1_22_1","volume-title":"WARNING: Bad Unlock Balance in xfs_iunlock. https:\/\/lkml.org\/lkml\/2018\/4\/3\/9.","author":"Chinner Dave","year":"2018"},{"key":"e_1_2_1_23_1","unstructured":"Jonathan Corbet. 2014. Toward Better Testing. https:\/\/lwn.net\/Articles\/591985\/.  Jonathan Corbet. 2014. Toward Better Testing. https:\/\/lwn.net\/Articles\/591985\/."},{"key":"e_1_2_1_24_1","first-page":"33","article-title":"Coverage-guided kernel fuzzing with syzkaller","volume":"2","author":"Drysdale David","year":"2016","journal-title":"Linux Weekly News"},{"key":"e_1_2_1_25_1","unstructured":"The Open Group. 2018. The Open Group Base Specifications Issue 7. http:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/.  The Open Group. 2018. The Open Group Base Specifications Issue 7. http:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/."},{"key":"e_1_2_1_26_1","unstructured":"Eryu Guan. 2015. fstests: Generic Test for fsync of File with Multiple Links. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg45915.html.  Eryu Guan. 2015. fstests: Generic Test for fsync of File with Multiple Links. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg45915.html."},{"key":"e_1_2_1_27_1","unstructured":"Eryu Guan. 2017. ext4: fix fdatasync(2) After fallocate(2) Operation. https:\/\/lore.kernel.org\/patchwork\/patch\/864704\/.  Eryu Guan. 2017. ext4: fix fdatasync(2) After fallocate(2) Operation. https:\/\/lore.kernel.org\/patchwork\/patch\/864704\/."},{"key":"e_1_2_1_28_1","unstructured":"Eryu Guan. 2018. ext4: Update idisksize if Direct Write Past Ondisk Size. https:\/\/marc.info\/?l&equals;linux-ext48m&equals;1516696690305478w&equals;2.  Eryu Guan. 2018. ext4: Update idisksize if Direct Write Past Ondisk Size. https:\/\/marc.info\/?l&equals;linux-ext48m&equals;1516696690305478w&equals;2."},{"key":"e_1_2_1_29_1","unstructured":"Greg Kroah Hartman. 2016. btrfs: Fix Empty Symlink After Creating Symlink and fsync Parent dir. https:\/\/lore.kernel.org\/patchwork\/patch\/685585\/.  Greg Kroah Hartman. 2016. btrfs: Fix Empty Symlink After Creating Symlink and fsync Parent dir. https:\/\/lore.kernel.org\/patchwork\/patch\/685585\/."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the 1994 USENIX Winter Technical Conference.","author":"Hitz Dave","year":"1994"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1162\/neco.1997.9.8.1735"},{"key":"e_1_2_1_32_1","volume-title":"Proceedings of the 2018 USENIX Annual Technical Conference (ATC\u201918)","author":"Hu Yige","year":"2018"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of the 13th Ottawa Linux Symposium.","author":"Jones Dave","year":"2011"},{"key":"e_1_2_1_34_1","first-page":"6980","article-title":"Adam: A method for stochastic optimization","volume":"1412","author":"Kingma Diederik P.","year":"2014","journal-title":"Arxiv"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129651"},{"key":"e_1_2_1_36_1","unstructured":"Ubuntu Bugs LaunchPad. 2018. Bug #317781: Ext4 Data Loss. https:\/\/bugs.launchpad.net\/ubuntu\/+source\/linux\/+bug\/317781?comments&equals;all.  Ubuntu Bugs LaunchPad. 2018. Bug #317781: Ext4 Data Loss. https:\/\/bugs.launchpad.net\/ubuntu\/+source\/linux\/+bug\/317781?comments&equals;all."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST\u201915)","author":"Lee Changman","year":"2015"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCCRI.2015.10"},{"key":"e_1_2_1_39_1","unstructured":"Filipe Manana. 2014. btrfs: Fix Directory Recovery from fsyncLog. https:\/\/patchwork.kernel.org\/patch\/4864571\/.  Filipe Manana. 2014. btrfs: Fix Directory Recovery from fsyncLog. https:\/\/patchwork.kernel.org\/patch\/4864571\/."},{"key":"e_1_2_1_40_1","unstructured":"Filipe Manana. 2014. btrfs: Fix fsync Data Loss after a Ranged fsync. https:\/\/patchwork.kernel.org\/patch\/4813651\/.  Filipe Manana. 2014. btrfs: Fix fsync Data Loss after a Ranged fsync. https:\/\/patchwork.kernel.org\/patch\/4813651\/."},{"key":"e_1_2_1_41_1","unstructured":"Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https:\/\/patchwork.kernel.org\/patch\/5830801\/.  Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https:\/\/patchwork.kernel.org\/patch\/5830801\/."},{"key":"e_1_2_1_42_1","unstructured":"Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg42047.html.  Filipe Manana. 2015. btrfs: Add Missing Inode Update When Punching Hole. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg42047.html."},{"key":"e_1_2_1_43_1","unstructured":"Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Adding Hard Link to Inode. https:\/\/patchwork.kernel.org\/patch\/5822681\/.  Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Adding Hard Link to Inode. https:\/\/patchwork.kernel.org\/patch\/5822681\/."},{"key":"e_1_2_1_44_1","unstructured":"Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Append Write. https:\/\/patchwork.kernel.org\/patch\/6624481\/.  Filipe Manana. 2015. btrfs: Fix fsync Data Loss After Append Write. https:\/\/patchwork.kernel.org\/patch\/6624481\/."},{"key":"e_1_2_1_45_1","unstructured":"Filipe Manana. 2015. btrfs: Fix Hole Punching When Using the No-Holes Feature. https:\/\/patchwork.kernel.org\/patch\/7536021\/.  Filipe Manana. 2015. btrfs: Fix Hole Punching When Using the No-Holes Feature. https:\/\/patchwork.kernel.org\/patch\/7536021\/."},{"key":"e_1_2_1_46_1","unstructured":"Filipe Manana. 2015. btrfs: Fix Metadata Inconsistencies After Directory fsync. https:\/\/patchwork.kernel.org\/patch\/6058101\/.  Filipe Manana. 2015. btrfs: Fix Metadata Inconsistencies After Directory fsync. https:\/\/patchwork.kernel.org\/patch\/6058101\/."},{"key":"e_1_2_1_47_1","unstructured":"Filipe Manana. 2015. btrfs: Fix Stale Directory Entries After fsync Log Replay. https:\/\/patchwork.kernel.org\/patch\/6852751\/.  Filipe Manana. 2015. btrfs: Fix Stale Directory Entries After fsync Log Replay. https:\/\/patchwork.kernel.org\/patch\/6852751\/."},{"key":"e_1_2_1_48_1","unstructured":"Filipe Manana. 2015. btrfs: Remove Deleted xattrs on fsync Log Replay. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg42162.html.  Filipe Manana. 2015. btrfs: Remove Deleted xattrs on fsync Log Replay. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg42162.html."},{"key":"e_1_2_1_49_1","unstructured":"Filipe Manana. 2016. btrfs: Fix File Loss on Log Replay After Renaming a File and fsync. https:\/\/patchwork.kernel.org\/patch\/8293181\/.  Filipe Manana. 2016. btrfs: Fix File Loss on Log Replay After Renaming a File and fsync. https:\/\/patchwork.kernel.org\/patch\/8293181\/."},{"key":"e_1_2_1_50_1","unstructured":"Filipe Manana. 2016. btrfs: Fix for Incorrect Directory Entries After fsync Log Replay. https:\/\/patchwork.kernel.org\/patch\/8766401\/.  Filipe Manana. 2016. btrfs: Fix for Incorrect Directory Entries After fsync Log Replay. https:\/\/patchwork.kernel.org\/patch\/8766401\/."},{"key":"e_1_2_1_51_1","unstructured":"Filipe Manana. 2016. fstests: Generic Test for Directory fsync After Rename Operation. https:\/\/patchwork.kernel.org\/patch\/8312681\/.  Filipe Manana. 2016. fstests: Generic Test for Directory fsync After Rename Operation. https:\/\/patchwork.kernel.org\/patch\/8312681\/."},{"key":"e_1_2_1_52_1","unstructured":"Filipe Manana. 2016. fstests: Generic Test for fsync After File Rename. https:\/\/patchwork.kernel.org\/patch\/9297215\/.  Filipe Manana. 2016. fstests: Generic Test for fsync After File Rename. https:\/\/patchwork.kernel.org\/patch\/9297215\/."},{"key":"e_1_2_1_53_1","unstructured":"Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming Directory. https:\/\/patchwork.kernel.org\/patch\/8694291\/.  Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming Directory. https:\/\/patchwork.kernel.org\/patch\/8694291\/."},{"key":"e_1_2_1_54_1","unstructured":"Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming File. https:\/\/patchwork.kernel.org\/patch\/8694301\/.  Filipe Manana. 2016. fstests: Generic Test for fsync After Renaming File. https:\/\/patchwork.kernel.org\/patch\/8694301\/."},{"key":"e_1_2_1_55_1","unstructured":"Filipe Manana. 2018. btrfs: Blocks Allocated Beyond EOF are Lost. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg75108.html.  Filipe Manana. 2018. btrfs: Blocks Allocated Beyond EOF are Lost. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg75108.html."},{"key":"e_1_2_1_56_1","volume-title":"Btrfs: Fix Log Replay Failure After Linking Special File and fsync. https:\/\/www.mail-archive.com\/linux-btrfs@vger.kernel.org\/msg73890.html.","author":"Manana Filipe","year":"2018"},{"key":"e_1_2_1_57_1","unstructured":"Filipe Manana. 2018. btrfs: Fix Log Replay Failure after Unlink and Link Combination. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg75204.html.  Filipe Manana. 2018. btrfs: Fix Log Replay Failure after Unlink and Link Combination. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg75204.html."},{"key":"e_1_2_1_58_1","unstructured":"Filipe Manana. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg81425.html.  Filipe Manana. 2018. btrfs: Strange Behavior (Possible Bugs) in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg81425.html."},{"key":"e_1_2_1_59_1","unstructured":"Filipe Manana. 2018. btrfs: Sync Log After Logging New Name. https:\/\/www.mail-archive.com\/linux-btrfs@vger.kernel.org\/msg77875.html.  Filipe Manana. 2018. btrfs: Sync Log After Logging New Name. https:\/\/www.mail-archive.com\/linux-btrfs@vger.kernel.org\/msg77875.html."},{"key":"e_1_2_1_60_1","volume-title":"Generic: Test fsync New File After Removing Hard Link. https:\/\/marc.info\/?l&equals;linux-btrfs8m&equals;1519833491120058w&equals;2.","author":"Manana Filipe","year":"2018"},{"key":"e_1_2_1_61_1","volume-title":"Re: Strange Behavior (Possible Bugs) in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg81425.html.","author":"Manana Filipe","year":"2018"},{"key":"e_1_2_1_62_1","volume-title":"Proceedings of the 9th USENIX Conference on Hot Topics in Storage and File Systems. USENIX Association, 6--6.","author":"Martinez Ashlie","year":"2017"},{"key":"e_1_2_1_63_1","unstructured":"Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77282.html.  Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77282.html."},{"key":"e_1_2_1_64_1","unstructured":"Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77318.html.  Chris Mason. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77318.html."},{"key":"e_1_2_1_65_1","volume-title":"Proceedings of the Linux Symposium","volume":"2","author":"Mathur Avantika","year":"2007"},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of the USENIX Annual Technical Conference, FREENIX Track. 1--17","author":"McKusick Marshall K.","year":"1999"},{"key":"e_1_2_1_67_1","unstructured":"R. McMillan. 2012. Amazon Blames Generators for Blackout that Crushed Netflix. http:\/\/www.wired.com\/wiredenterprise\/2012\/07\/amazon explains\/.  R. McMillan. 2012. Amazon Blames Generators for Blackout that Crushed Netflix. http:\/\/www.wired.com\/wiredenterprise\/2012\/07\/amazon explains\/."},{"key":"e_1_2_1_68_1","unstructured":"R. Miller. 2012. Power Outage Hits London Data Center. http:\/\/www.datacenterknowledge.com\/archives\/2012\/07\/10\/power-outage-hits-london-data-center\/.  R. Miller. 2012. Power Outage Hits London Data Center. http:\/\/www.datacenterknowledge.com\/archives\/2012\/07\/10\/power-outage-hits-london-data-center\/."},{"key":"e_1_2_1_69_1","unstructured":"R. Miller. 2013. Data Center Outage Cited in Visa Downtime Across Canada. http:\/\/www.datacenterknowledge.com\/archives\/2013\/01\/28\/data-center-outage-cited-in-visa-downtime-across-canada\/.  R. Miller. 2013. Data Center Outage Cited in Visa Downtime Across Canada. http:\/\/www.datacenterknowledge.com\/archives\/2013\/01\/28\/data-center-outage-cited-in-visa-downtime-across-canada\/."},{"key":"e_1_2_1_70_1","unstructured":"R. Miller. 2013. Power Outage Knocks Dreamhost Customers Offline. http:\/\/www.datacenterknowledge.com\/archives\/2013\/03\/20\/power-outage- knocks-dreamhost-customers-offline\/.  R. Miller. 2013. Power Outage Knocks Dreamhost Customers Offline. http:\/\/www.datacenterknowledge.com\/archives\/2013\/03\/20\/power-outage- knocks-dreamhost-customers-offline\/."},{"key":"e_1_2_1_71_1","unstructured":"Jayashree Mohan. 2018. btrfs: Hard Link Not Persisted On fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76878.html.  Jayashree Mohan. 2018. btrfs: Hard Link Not Persisted On fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76878.html."},{"key":"e_1_2_1_72_1","unstructured":"Jayashree Mohan. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77219.html.  Jayashree Mohan. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77219.html."},{"key":"e_1_2_1_73_1","volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","author":"Mohan Jayashree","year":"2018"},{"key":"e_1_2_1_74_1","unstructured":"Vegard Nossum and Quentin Casasnovas. 2016. Filesystem Fuzzing with American Fuzzy Lop. https:\/\/lwn.net\/Articles\/685182\/.  Vegard Nossum and Quentin Casasnovas. 2016. Filesystem Fuzzing with American Fuzzy Lop. https:\/\/lwn.net\/Articles\/685182\/."},{"key":"e_1_2_1_75_1","volume-title":"Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST\u201917)","author":"Pillai Thanumalayan Sankaranarayana"},{"key":"e_1_2_1_76_1","volume-title":"Proceedings of the 11th Symposium on Operating Systems Design and Implementation (OSDI\u201914)","author":"Pillai Thanumalayan Sankaranarayana"},{"key":"e_1_2_1_77_1","unstructured":"POSIX. 2018. fsync: The Open Group Base Specifications Issue 6. http:\/\/pubs.opengroup.org\/onlinepubs\/009695399\/functions\/fsync.html.  POSIX. 2018. fsync: The Open Group Base Specifications Issue 6. http:\/\/pubs.opengroup.org\/onlinepubs\/009695399\/functions\/fsync.html."},{"key":"e_1_2_1_78_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX\u201905)","author":"Prabhakaran Vijayan"},{"key":"e_1_2_1_79_1","volume-title":"Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST\u201918)","author":"Rho Eunhee","year":"2018"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/2501620.2501623"},{"key":"e_1_2_1_81_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_82_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026877.3026879"},{"key":"e_1_2_1_83_1","volume-title":"Proceedings of the16th USENIX Conference on File and Storage Technologies (FAST\u201918)","author":"Son Yongseok","year":"2018"},{"key":"e_1_2_1_84_1","volume-title":"Proceedings of the USENIX Annual Technical Conference (USENIX\u201996)","author":"Sweeney Adan","year":"1996"},{"key":"e_1_2_1_85_1","unstructured":"Ted Ts\u2019o. 2018. Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76844.html.  Ted Ts\u2019o. 2018. Symlink Not Persisted Even After fsync. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg76844.html."},{"key":"e_1_2_1_86_1","unstructured":"Theodore Y. Ts\u2019o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77389.html.  Theodore Y. Ts\u2019o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77389.html."},{"key":"e_1_2_1_87_1","unstructured":"Theodore Y. Ts\u2019o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77340.html.  Theodore Y. Ts\u2019o. 2018. btrfs: Inconsistent Behavior of fsync in btrfs. https:\/\/www.spinics.net\/lists\/linux-btrfs\/msg77340.html."},{"key":"e_1_2_1_88_1","unstructured":"UTSASLab. 2018. Crash-Consistency Bugs Studied and Reproduced. https:\/\/github.com\/utsaslab\/crashmonkey\/blob\/master\/reproducedBugs.md.  UTSASLab. 2018. Crash-Consistency Bugs Studied and Reproduced. https:\/\/github.com\/utsaslab\/crashmonkey\/blob\/master\/reproducedBugs.md."},{"key":"e_1_2_1_89_1","unstructured":"UTSASLab. 2018. New Crash-Consistency Bugs Found. https:\/\/github.com\/utsaslab\/crashmonkey\/blob\/master\/newBugs.md.  UTSASLab. 2018. New Crash-Consistency Bugs Found. https:\/\/github.com\/utsaslab\/crashmonkey\/blob\/master\/newBugs.md."},{"key":"e_1_2_1_90_1","unstructured":"J. Verge. 2014. Internap Data Center Outage Takes Down Livestream and Stackexchange. http:\/\/www.datacenterknowledge.com\/archives\/2014\/05\/16\/internap-data-center-outage-takes-livestream-stackexchange\/.  J. Verge. 2014. Internap Data Center Outage Takes Down Livestream and Stackexchange. http:\/\/www.datacenterknowledge.com\/archives\/2014\/05\/16\/internap-data-center-outage-takes-livestream-stackexchange\/."},{"key":"e_1_2_1_91_1","unstructured":"Dmitry Vyukov. 2018. Syzbot. https:\/\/lwn.net\/Articles\/749910\/.  Dmitry Vyukov. 2018. Syzbot. https:\/\/lwn.net\/Articles\/749910\/."},{"key":"e_1_2_1_92_1","unstructured":"R. S. V. Wolffradt. 2014. Fire In Your Data Center: No Power No Access Now What? http:\/\/www.govtech.com\/state\/Fire-in-your-Data-Center-No-Power-No-Access-Now-What.html.  R. S. V. Wolffradt. 2014. Fire In Your Data Center: No Power No Access Now What? http:\/\/www.govtech.com\/state\/Fire-in-your-Data-Center-No-Power-No-Access-Now-What.html."},{"key":"e_1_2_1_93_1","volume-title":"Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST\u201918)","author":"Won Youjip","year":"2018"},{"key":"e_1_2_1_94_1","volume-title":"Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI\u201906)","author":"Yang Junfeng","year":"2006"},{"key":"e_1_2_1_95_1","volume-title":"Proceedings of the 6th Symposium on Operating System Design and Implementation (OSDI\u201904)","author":"Yang Junfeng","year":"2004"},{"key":"e_1_2_1_96_1","unstructured":"Chao Yu. 2017. f2fs: Keep isize Once Block is Reserved Cross EOF. https:\/\/sourceforge.net\/p\/linux-f2fs\/mailman\/message\/36104201\/.  Chao Yu. 2017. f2fs: Keep isize Once Block is Reserved Cross EOF. https:\/\/sourceforge.net\/p\/linux-f2fs\/mailman\/message\/36104201\/."},{"key":"e_1_2_1_97_1","unstructured":"Chao Yu. 2018. f2fs: Enforce fsync_mode&equals;strict for Renamed Directory. https:\/\/lkml.org\/lkml\/2018\/4\/25\/674.  Chao Yu. 2018. f2fs: Enforce fsync_mode&equals;strict for Renamed Directory. https:\/\/lkml.org\/lkml\/2018\/4\/25\/674."},{"key":"e_1_2_1_98_1","unstructured":"Chao Yu. 2018. f2fs: Fix to Set KEEP_SIZE Bit in f2fs_zero_range. https:\/\/lore.kernel.org\/patchwork\/patch\/889955\/.  Chao Yu. 2018. f2fs: Fix to Set KEEP_SIZE Bit in f2fs_zero_range. https:\/\/lore.kernel.org\/patchwork\/patch\/889955\/."},{"key":"e_1_2_1_99_1","volume-title":"Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST\u201916)","author":"Yuan Jun"},{"key":"e_1_2_1_100_1","volume-title":"Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST\u201916)","author":"Zhang Shuanglong","year":"2016"},{"key":"e_1_2_1_101_1","volume-title":"Proceedings of the 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201914)","author":"Zheng Mai","year":"2014"}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3320275","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3320275","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3320275","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:28Z","timestamp":1750200088000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3320275"}},"subtitle":["Systematically Testing File-System Crash Consistency"],"short-title":[],"issued":{"date-parts":[[2019,4,20]]},"references-count":100,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2019,5,31]]}},"alternative-id":["10.1145\/3320275"],"URL":"https:\/\/doi.org\/10.1145\/3320275","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,4,20]]},"assertion":[{"value":"2018-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-04-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}