Unionfs: implement native unionfs_fsync/unionfs_fasync methods
authorErez_Zadok <ezk@cs.sunysb.edu>
Sun, 22 Jul 2007 03:47:01 +0000 (23:47 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Sun, 23 Mar 2008 03:48:22 +0000 (23:48 -0400)
commit2fa4785a4311faf5a5482d114ec9611630ffb0f8
tree6c10318de4ea262a38d96898a542b75229612990
parentb9cd52322a3aa3462fbe782b80aea3588d9c5f97
Unionfs: implement native unionfs_fsync/unionfs_fasync methods

Unionfs is not a block-based file system, but it has to work with both
block-based file systems and non-block-based ones (i.e., when
CONFIG_BLOCK=n).  We used to define our ->fsync method to file_fsync, but
that's wrong because file_fsync partially depends on CONFIG_BLOCK=y.  And we
didn't define an fasync method: now we have both.  Moreover, at best,
file_fsync would have caused unionfs to sync up one lower branch---but as a
fanout file system, we need to sync up all valid lower branches.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/dirfops.c
fs/unionfs/file.c
fs/unionfs/union.h