Unionfs: implement vm_operations->fault
authorRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Mon, 31 Mar 2008 16:54:52 +0000 (12:54 -0400)
committerRachita Kothiyal <rachita@dewey.fsl.cs.sunysb.edu>
Mon, 31 Mar 2008 16:54:52 +0000 (12:54 -0400)
commit304ce51fb3c8f33a15caca32aee35df1f39d16fc
tree7cd2eff9ea5c23726b79e263fdf7b384f558deae
parentedffa9e2c0908dd611c15ac0523f74ec35dc89c3
Unionfs: implement vm_operations->fault

As per recommendations made at LSF'08, a stackable file system which does
not change the data across layers, should try to use vm_operations instead
of address_space_operations.  This means we now have to implement out own
->read and ->write methods because we cannot rely on VFS helpers which
require us to have a ->readpage method.  Either way there are two caveats:

(1) It's not possible currently to set inode->i_mapping->a_ops to NULL,
because too many code paths expect i_mapping to be non-NULL.

(2) a small/dummy ->readpage is still needed because generic_file_mmap,
which we used in unionfs_mmap, still check for the existence of the
->readpage method.  These code paths may have to be changed to remove the
need for readpage().

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