Documentation/filesystems/unionfs/concepts.txt | 49 ++++
fs/namei.c | 2 +-
fs/splice.c | 20 +-
fs/unionfs/Makefile | 2 +-
fs/unionfs/commonfops.c | 73 +++---
fs/unionfs/copyup.c | 19 +-
fs/unionfs/dentry.c | 189 +++++++------
fs/unionfs/dirfops.c | 68 ++++-
fs/unionfs/export.c | 45 ++--
fs/unionfs/fanout.h | 51 ----
fs/unionfs/file.c | 203 ++++++++++++--
fs/unionfs/inode.c | 269 ++++++++++---------
fs/unionfs/lookup.c | 18 +-
fs/unionfs/main.c | 10 +-
fs/unionfs/mmap.c | 352 ++++--------------------
fs/unionfs/rename.c | 24 ++-
fs/unionfs/subr.c | 56 ++++
fs/unionfs/super.c | 26 ++-
fs/unionfs/union.h | 44 ++--
fs/unionfs/unlink.c | 13 +-
include/linux/splice.h | 5 +
21 files changed, 831 insertions(+), 707 deletions(-)
New commits:
commit 7e7e999d65f1559485bacd9f9cf82fe170002a9e
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 18 04:04:29 2008 -0400
Unionfs ODF: Exports: Handle inodes which have been deleted.
Lookup the inode in the ODF, which provides a persistent store of
inode attributes, to identify bad inodes (ie inodes which have been
deleted)
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit f415228ead77e07723eb44aa2349672f7150f652
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 4 16:39:55 2008 -0400
Unionfs ODF: Fix incorrect modes on exported unionfs inodes
Incorrect modes were assigned to inodes when composing a dentry
from a file handle in unionfs_export_iget().
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit e65b147a9e1d496bf1b4266e796f567f36ba4ab4
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 18 03:37:20 2008 -0400
Unionfs ODF: Fix a lockdep warning on nfsd_readdir of exported unionfs mount
nfsd_readdir calls vfs_llseek and vfs_readdir. Following is the locking
order seen by lockdep:
vfs_llseek: sb -> dentry -> inode
vfs_readdir: inode -> sb -> dentry
Lockdep reports this as a possible circular locking order bug.
To fix this, we define our own unionfs_file_llseek_locked function,
which is essentially the vfs generic_file_llseek function, but with
the inode locking moved into the caller. This now changes the locking
order in vfs_llseek call to be: inode -> sb -> dentry, and satisfies
lockdep too.
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit 72e802dbbaa10242f318faa5ce04ad7d3bb48716
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 18 03:35:49 2008 -0400
Unionfs ODF: Move around locking order in unionfs_dir_llseek
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit 2ceed14fabbfddac8fabd0a7baa0d90912088ba5
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 18 03:28:34 2008 -0400
Unionfs ODF: Check UNIONFS_D before grabbing dentry lock
First check if the UNIONFS_D() is non NULL, and only then grab
a lock on the dentry. Since trying to grab a lock, which is a
member of UNIONFS_D(), doesn't make sense if it is itself NULL
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit 2eac778886c080c6d74868cd75fc20d4ef8c5b07
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Thu Mar 13 23:36:31 2008 -0400
Unionfs: check UNIONFS_D() before unionfs_check_dentry during release
When we are at the point of releasing a unionfs dentry, check the sanity of
the dentry after we have established that UNIONFS_D() is not NULL. This
solves a potential race between two threads trying to release the same
dentry.
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit 0cba0e777b2bc0b09b422c25f74605bc364264ec
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun May 18 03:19:33 2008 -0400
Unionfs ODF: Move around locking order in unions_readdir()
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit e6b25c273a701f94c730f42ed09789519064b695
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Apr 7 11:08:13 2008 -0400
Unionfs: prevent races in unionfs_fault
vm_ops->fault may be called in parallel. Because we have to resort to
temporarily changing the vma->vm_file to point to the lower file, a
concurrent invocation of unionfs_fault could see a different value. In this
workaround, we keep a different copy of the vma structure in our stack, so
we never expose a different value of the vma->vm_file called to us, even
temporarily. A better fix would be to change the calling semantics of
->fault to take an explicit file pointer.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 9547784108cc1cf09f269411a7fd6955d5310c84
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Apr 2 16:38:18 2008 -0400
Unionfs ODF: release 2.3.2
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 1b3c8f1620d29fd9ab5db5d32f680535980e6a08
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Apr 2 16:40:09 2008 -0400
Unionfs: update lower mnts on rmdir with copyup
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit ee159ed497bd07cf60c8981d87e2953014989841
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Apr 2 16:40:31 2008 -0400
Unionfs: don't purge lower sb data on remount
This is no longer needed, as we don't have upper and lower pages. Plus this
was racy, requiring the unexported inode_lock variable.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit b78db36b9defa084e9b289bb5532f66ab1498088
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Apr 2 12:26:44 2008 -0400
patch fixes-to-unionfs-lock-dentry-in-file-ops.patch
commit dd67f53b3898114057db4242427ee3b039c6be7d
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Apr 2 12:10:48 2008 -0400
Unionfs-odf: release 2.3.1
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 328b031bfae098f16b2f3d3e199f19460dd617da
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 16:09:25 2008 -0400
Unionfs: do not over-decrement lower superblock refs on remount
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit f1dfcee1b45e00010e0d517e9f5b414e2ea1c593
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 16:17:49 2008 -0400
Unionfs-odf: release 2.3
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 4ce0cbc9c6052da9b4091e195abb991d3f2e82fb
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 16:04:37 2008 -0400
Unionfs: display mount point name along with generation number
CC: Dave Miller <[EMAIL PROTECTED]>
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit fae996fe8e51a10353d88936e9f6b500a4a852ba
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 16:01:37 2008 -0400
Unionfs: document reasons for opaque directories
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 6d595b73686e313200b6ded205a51eada8119bec
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 15:54:52 2008 -0400
Unionfs: use __func__ instead of __FUNCTION__
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 5f893a487ce964f5b79f9943478fa327ddebc034
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 15:52:29 2008 -0400
Unionfs: don't copy parent inode times in setattr
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 661d6a451f08f24c9f84d96aa7536be5f25768e3
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 15:49:55 2008 -0400
Unionfs: lock our dentry in file operations
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 304ce51fb3c8f33a15caca32aee35df1f39d16fc
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 12:54:52 2008 -0400
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 <[EMAIL PROTECTED]>
commit edffa9e2c0908dd611c15ac0523f74ec35dc89c3
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 12:46:35 2008 -0400
Unionfs: implement splice_read/write methods directly
Must implement splice_read/write directly, using VFS helpers, because we can
no longer rely on generic_file_splice_read/write: they need
address_space_operations implemented, which we no longer have.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 88e6fe379926ed05d5be15fdceabd50b207380c9
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 12:41:03 2008 -0400
VFS: rename do_splice_to/from to vfs_splice_* and export symbols
A stackable file system which uses vm_ops->fault, and does not implement
address_space_operations, cannot use generic_file_splice_read/write, but has
to implement ->splice_read/write itself. These two helper functions are
very useful to such a module.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 041cfb92865c31f210a9b425b1a51c035c012315
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 12:35:55 2008 -0400
VFS: export release_open_intent as GPL symbol, not regular symbol
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 76881de9726902fed399f99a45ba9f9783fa8e07
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Mar 19 16:44:26 2008 -0400
Unionfs odf: Fix odf unmount OOPs on export
Fix a leaked reference count on odf_root when trying to connect
disconnected dentries in __get_parent
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit a8cd9f5effe24644a273a4a2ee21e1cc4b360356
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 16:28:52 2008 -0500
Unionfs-odf: release 2.2.4
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 14e5aac86894bc83428a5ca1e6d7dc4ff9a856aa
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 14:32:13 2008 -0500
Unionfs: use dget_parent in revalidation code
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit e5639f82bdd3b6c3f153787a0eda38cb8652fb00
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 14:28:04 2008 -0500
Unionfs: branch management/configuration fixes
Remove unnecessary calls to update branch m/ctimes, and use them only when
needed. Update branch vfsmounts after operations that could cause a copyup.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit a20be893c31b300a179604550a427bcfd3bdb7a9
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 17:44:48 2008 -0400
Unionfs: lock parents' branch configuration fixes
Ensure that we lock the branch configuration of parent and child dentries in
operations which need it, and in the right order.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit b4af6b5a9f44bf119dc77838cabfd4809d60bf4d
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Thu Mar 27 02:04:11 2008 -0400
Unionfs: factor out revalidation routine
To be used by rest of revalidation code, as well a callers who already
locked the child and parent dentry branch-configurations.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 08cbe21f84964da3bb7994054bb3b3303f718875
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 12:18:19 2008 -0500
Unionfs: revalidation code cleanup and refactoring
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 76f5c973ba61270aa63824ade2acdfbe8101bd8c
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 12:03:39 2008 -0500
Unionfs: improve debugging in copy_attr_times
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 66ae7851f3efc8a8ef04143a929b300614fee3cf
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 12:01:57 2008 -0500
Unionfs: follow_link locking fixes
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit bf1e8bfee69d50e7331d6f41f53614e3afbcdabb
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 11:59:31 2008 -0500
Unionfs: extend dentry branch configuration lock in open
Dentry branch configuration "info node" lock should extend to calls to
copy_attr_times.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit f3fc60f8ed9b807240c87c5a349424eed9708e40
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 11:38:00 2008 -0500
Unionfs: initialize path_save variable
This is not strictly necessary, but it helps quiet a gcc-4.2 warning (a good
optimizer may optimize this initialization away).
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
Signed-off-by: Josef 'Jeff' Sipek <[EMAIL PROTECTED]>
commit 07ecc8f220531cba49260c9a2bc7e2393b87abec
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 11:31:31 2008 -0500
Unionfs: uninline unionfs_copy_attr_times and unionfs_copy_attr_all
This reduces text size by about 6k.
Cc: Hugh Dickins <[EMAIL PROTECTED]>
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 0aaa887c509e90dca1e59de4e87e8d9d82402a4b
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 10:30:05 2008 -0500
Unionfs: document behavior when the lower topology changes
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit cda7f6e2cb32f594f35afd34a7cadc186896c6fc
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Mon Mar 31 15:46:51 2008 -0400
Unionfs: ensure consistent lower inodes types
When looking up a lower object in multiple branches, especially for
directories, ignore any existing entries whose type is different than the
type of the first found object (otherwise we'll be trying to, say, call
readdir on a non-dir inode).
Signed-off-by: Himanshu Kanda <[EMAIL PROTECTED]>
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit c1e6ee153ca6829da6e83d5a48056da840fe8ed6
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 10:25:15 2008 -0500
Unionfs: grab lower super_block references
This prevents the lower super_block from being destroyed too early, when a
lower file system is being unmounted with MNT_FORCE or MNT_DETACH.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 5155084d9b492ddd93992307b91ddefaaab1a9bb
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Fri Feb 29 14:36:22 2008 -0500
Unionfs-odf: release 2.2.3
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 7f358bef4fcba7991c5d84ffe288c9047d1d21e0
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Wed Mar 26 17:39:09 2008 -0400
Unionfs: lock_rename related locking fixes
CC: Mike Halcrow <[EMAIL PROTECTED]>
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit c477c78dda5e400d5859915188ba6e76ccf80787
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun Feb 24 19:34:00 2008 -0500
Unionfs: d_parent related locking fixes
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit 21dc59d74307565448e3fed01b8265ee2f0fe42b
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun Feb 24 19:05:58 2008 -0500
Unionfs odf: Remove unnecessary function and macro
Signed-off-by: Rachita Kothiyal <[EMAIL PROTECTED]>
commit 6a0772ede80d48f32a61d1b00538ebb10bf37aed
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Sun Feb 24 19:18:32 2008 -0500
Unionfs: remove unnecessary call to d_iput
This old code was to fix a bug which has long since been fixed in our
copyup_permission and unionfs_d_iput.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
commit b20746efc52bed7f8dcfcb40e755f33c5f1d1592
Author: Rachita Kothiyal <[EMAIL PROTECTED]>
Date: Thu Mar 27 01:42:38 2008 -0400
Unionfs ODF: use first writable branch (fix/cleanup)
Cleanup code in ->create, ->symlink, and ->mknod: refactor common code into
helper functions. Also, this allows writing to multiple branches again,
which was broken by an earlier patch.
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]
_______________________________________________
unionfs-cvs mailing list: http://unionfs.filesystems.org/
[email protected]
http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs