Subject: Re: git (commit|tag) atomicity

From: Zach Brown <[email-masked]>
Date: Tue, 28 Feb 2012 13:57:21 -0500

It's a bit of a tangent, but just to be sure people don't get the wrong
impression..

> But I am not sure... that probably depends on how opendir(3) and
> readdir(3) works on given filesystem wrt. updates to opened directory.
> I think VFS on Linux ensures that you see view of filesystem as it was
> on opendir().

No, readdir() does not give you a static view of the entries in a
directory as it was on opendir().  readdir() will reflect modifications
that are done after opendir().  The specifics for a given situation
depend on how the file system maps the readdir position (f_pos) to
directory entries.  You can see very different results when comparing,
say, stock ext2, indexed ext[34], and btrfs.

- z
(your message probably caught my eye because telldir()/seekdir() is
*loathed* by file system designers)