[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: file born 30 seconds after its creation on ext4 - bug?



Hi,

Vincent Lefevre wrote:
> and one with
>   openat(AT_FDCWD, "….out", O_WRONLY|O_CREAT|O_APPEND, 0666 <unfinished ...>
>   <... openat resumed>)  = 3
> about 30 seconds later.

Oh. So the script was still running when the file finally appeared to lt,
tail, and ll ?

Is the text snippet "<unfinished ...> <... openat resumed>" literally in
the output of strace ? (Or does stand for some other text ?)

Did you check the kernel logs for unusual events around 2022-04-26 14:43 ?


> This doesn't explain why the birth time of the file was 30 seconds
> late.

I developed the theory that it might be an effect of journaling. Like:
Inode creation fails on storage device level, journal records the ongoing
write requests and virtual memory serves the read requests, 30 seconds
later journal creates inode at its final place on the storage device.
But as it looks in
  https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Journal_.28jbd2.29
the journal is a mere data cache with no own means to create inodes and their
timestamps.

Still i deem it the most plausible theory that the inode to which the script
wrote in its first second is not the same inode to which it later wrote and
which finally shows up with shell tools.
But i lack of any idea how this can happen as rare and unexpected event.


Have a nice day :)

Thomas


Reply to: