Bug#898287: Subject: disorderfs inode on getdents
Omar Navarro Leija
omarsa at seas.upenn.edu
Wed May 9 19:58:25 BST 2018
Package: disorderfs
Version: 0.5.2
Severity: [normal]
When using disorderfs the inodes returned by a system call to getdents are
all the same value:
> disorderfs Getdents/ disorder/
disorderfs: reversing dirents
> cd disorder/
disorder ) ./getdents
--------------- nread=80 ---------------
*i-node#* file type d_reclen d_off d_name
*4294967295* ??? 24 32 ..
*4294967295* ??? 24 64 .
*4294967295* ??? 32 96 getdents
*getdents *is a tiny C program copied from the man 2 getdents example at
the bottom.
Meanwhile stat correctly returns a unique inode:
> stat getdents
File: getdents
Size: 8512 Blocks: 25 IO Block: 4096 regular file
Device: 30h/48d *Inode: 2* Links: 1
...
disorder ) stat .
File: .
Size: 4096 Blocks: 9 IO Block: 4096 directory
Device: 30h/48d *Inode: 1* Links: 2
This leads to an inconsistent state between inodes as well as breaking
assumptions programs might make about unique inodes when checking the
results of getdents.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/reproducible-builds/attachments/20180509/16ceed48/attachment.html>
More information about the Reproducible-builds
mailing list