There may not even _be_ a 'consistent' state on a busy file system that's
used, eg., for a database. There may literally be months without a singe
second in which no transaction is outstanding and no blocks are queued for
writing. But that's a problem no file system can solve without help from
the application.
Indeed, that's part of problem with doing any kind of journalling, even
if you are doing limited meta-data journalling. At some point the
system has to declare a commit point, and start commiting stuff to
disk. But you don't want the system to freeze while you're doing the
commit; the application will want to conntinue reading and writing to
the disk while you're doing the commit. Trying to design around this is
"interesting".
- Ted