):
Unionfs: embed a struct path into struct nameidata instead of nd dentrymnt
David Howells (1):
Unionfs: stop using iget() and read_inode()
Erez Zadok (14):
Unionfs: grab lower super_block references
Unionfs: ensure consistent lower inodes types
Unionfs: document behavior
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]
---
fs/unionfs/main.c |3 +++
fs/unionfs/super.c | 14 ++
fs/unionfs/union.h |2 +-
3
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
Documentation/filesystems/unionfs/concepts.txt | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/Documentation/filesystems/unionfs/concepts.txt
b/Documentation/filesystems/unionfs/concepts.txt
index bed69bd
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c |6 +-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 8d939dc..6377533 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -820,7 +820,11 @@ static void
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 55 --
1 files changed, 35 insertions(+), 20 deletions(-)
diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index cd15243..afa2120 100644
--- a/fs/unionfs/dentry.c
+++ b
-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/lookup.c | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/fs/unionfs/lookup.c b/fs/unionfs/lookup.c
index b9ee072..755158e 100644
--- a/fs/unionfs/lookup.c
+++ b/fs/unionfs/lookup.c
@@ -256,6 +256,19 @@ struct
This reduces text size by about 6k.
Cc: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/fanout.h | 50 --
fs/unionfs/subr.c | 50 ++
fs/unionfs/union.h
]
Signed-off-by: Andreas Gruenbacher [EMAIL PROTECTED]
Acked-by: Christoph Hellwig [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/main.c |2 +-
fs/unionfs/super.c | 12 ++--
2 files changed, 7 insertions
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]
---
fs/unionfs/commonfops.c |9 +++--
fs/unionfs/copyup.c |3 ++-
fs/unionfs
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]
---
fs/unionfs/dentry.c | 87 +++---
fs/unionfs/union.h |3 ++
2 files
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/subr.c |8 +++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/subr.c b/fs/unionfs/subr.c
index 68a6280..1a40f63 100644
--- a/fs/unionfs/subr.c
+++ b/fs/unionfs/subr.c
@@ -247,8 +247,14 @@ void
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 13 -
1 files changed, 4 insertions(+), 9 deletions(-)
diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index a956b94..f8f65e1 100644
--- a/fs/unionfs/dentry.c
+++ b/fs/unionfs/dentry.c
@@ -410,15 +410,10
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]
---
fs/unionfs/inode.c |2 +-
1 files changed, 1 insertions(+), 1
Dentry branch configuration info node lock should extend to calls to
copy_attr_times.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/commonfops.c | 14 --
1 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
From: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c | 12 ++--
1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 2e791fd
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]
---
fs/unionfs/commonfops.c | 31 +---
fs/unionfs/dentry.c | 26 +---
fs/unionfs
when getting the root inode
instead of EINVAL.
Signed-off-by: David Howells [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/main.c | 11 +--
fs/unionfs/super.c | 19 ++-
fs/unionfs/union.h
In message [EMAIL PROTECTED], Hugh Dickins writes:
Hi Erez,
Aside from the occasional unionfs: new lower inode mtime messages
on directories (which I've got into the habit of ignoring now), the
only problem I'm still suffering with unionfs over tmpfs (not tested
any other fs's below it
Hi David,
This has been a problem I've seen for a while. I've generated a jffs2 image
of an empty directory (I don't recall the version of the jffs2 utils I've
used to generate it). I mount the jffs2 image something like this:
# cp jffs2-empty.img /tmp/fs.0
# losetup /dev/loop0 /tmp/fs.0
#
In message [EMAIL PROTECTED], Al Viro writes:
On Sat, Jan 26, 2008 at 12:08:30AM -0500, Erez Zadok wrote:
[concerns about lower directories moving around...]
You are thinking about non-interesting case. _Files_ are not much
of a problem. Directory tree is. The real problems with all
In message [EMAIL PROTECTED], Hugh Dickins writes:
Hi Erez,
Aside from the occasional unionfs: new lower inode mtime messages
on directories (which I've got into the habit of ignoring now), the
only problem I'm still suffering with unionfs over tmpfs (not tested
any other fs's below it
In message [EMAIL PROTECTED], Al Viro writes:
After grep for locking-related things:
* lock_parent(): who said that you won't get dentry moved
before managing to grab i_mutex on parent? While we are at it,
who said that you won't get dentry moved between fetching d_parent
and doing
CC: Mike Halcrow [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/rename.c | 16 +++-
1 files changed, 15 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c
index 9306a2b..5ab13f9 100644
--- a/fs/unionfs/rename.c
+++ b
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/copyup.c |3 +--
fs/unionfs/union.h |4 ++--
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 8663224..9beac01 100644
--- a/fs/unionfs/copyup.c
+++ b/fs/unionfs
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]
---
fs/unionfs/inode.c | 395
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]
---
fs/unionfs/copyup.c | 13 -
1 files changed, 0 insertions(+), 13 deletions(-)
diff --git a/fs/unionfs/copyup.c b/fs/unionfs
/unionfs.git
to receive the following:
Erez Zadok (4):
Unionfs: use first writable branch (fix/cleanup)
Unionfs: remove unnecessary call to d_iput
Unionfs: d_parent related locking fixes
Unionfs: lock_rename related locking fixes
copyup.c | 16 --
inode.c | 395
In message [EMAIL PROTECTED], Miklos Szeredi writes:
From: Miklos Szeredi [EMAIL PROTECTED]
This series addresses the problem of showing mount options in
/proc/mounts.
Several filesystems which use mount options, have not implemented a
.show_options superblock operation. Several others
In message [EMAIL PROTECTED], Michael Halcrow writes:
On Thu, Jan 10, 2008 at 10:57:46AM -0500, Erez Zadok wrote:
[...]
Would the inclusion of Unionfs in mainline really slow down or damage
the union mount effort? If not, then I think the pragmatic approach
would be to make it available
In message [EMAIL PROTECTED], Al Viro writes:
After grep for locking-related things:
[...]
Thanks. I'll start looking at these issues asap.
Erez.
-
To unsubscribe from this list: send the line unsubscribe linux-fsdevel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/xattr.c | 153
1 files changed, 153 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/xattr.c
diff --git a/fs/unionfs/xattr.c b/fs/unionfs/xattr.c
new file mode 100644
Includes open, ioctl, and flush operations.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/commonfops.c | 835 +++
1 files changed, 835 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/commonfops.c
diff --git a/fs/unionfs
Includes lower nameidata support routines.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/lookup.c | 652 +++
1 files changed, 652 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/lookup.c
diff --git a/fs/unionfs/lookup.c
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/union.h | 602
1 files changed, 602 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/union.h
diff --git a/fs/unionfs/union.h b/fs/unionfs/union.h
new file mode 100644
Includes read_inode, delete_inode, put_super, statfs, remount_fs (which
supports branch-management ops), clear_inode, alloc_inode, destroy_inode,
write_inode, umount_begin, and show_options.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/super.c | 1025
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dirfops.c | 290 ++
1 files changed, 290 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/dirfops.c
diff --git a/fs/unionfs/dirfops.c b/fs/unionfs/dirfops.c
new file mode
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/debug.c | 533
1 files changed, 533 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/debug.c
diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
new file mode 100644
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/rename.c | 531 +++
1 files changed, 531 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/rename.c
diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c
new file mode 100644
Needed to release the resources of the lower nameidata structures that we
create and pass to lower file systems (e.g., when calling vfs_create).
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/namei.c |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/fs/namei.c b/fs
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
include/linux/magic.h |2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/include/linux/magic.h b/include/linux/magic.h
index 1fa0c2c..67043ed 100644
--- a/include/linux/magic.h
+++ b/include/linux/magic.h
@@ -35,6 +35,8
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/sioq.c | 119 +
fs/unionfs/sioq.h | 92 +
2 files changed, 211 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/sioq.c
create mode
Includes duplicate name elimination and whiteout-handling code.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/rdstate.c | 285 ++
1 files changed, 285 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/rdstate.c
diff --git
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/Kconfig | 53 +
1 files changed, 41 insertions(+), 12 deletions(-)
diff --git a/fs/Kconfig b/fs/Kconfig
index 487236c..55a78b7 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1041,6 +1041,47
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/copyup.c | 899 +++
1 files changed, 899 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/copyup.c
diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
new file mode 100644
Acked-by: Mike Halcrow [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/ecryptfs/dentry.c |2 +-
fs/ecryptfs/inode.c |6 +++---
fs/ecryptfs/main.c |2 +-
fs/stack.c | 38 --
include/linux/fs_stack.h
support stackable file systems.
Lastly, shortlog and diffstats:
Erez Zadok (29):
Unionfs: documentation
VFS/eCryptfs: use simplified fs_stack API to fsstack_copy_attr_all
Makefile: hook to compile unionfs
Unionfs: main Makefile
Unionfs: fanout header definitions
Note: this will become obsolete once similar patches, now in -mm, make it to
mainline.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
include/linux/namei.h | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/include/linux/namei.h b/include/linux/namei.h
index
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/unlink.c | 251 +++
1 files changed, 251 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/unlink.c
diff --git a/fs/unionfs/unlink.c b/fs/unionfs/unlink.c
new file mode 100644
Includes index files, MAINTAINERS, and documentation on general concepts,
usage, issues, and renaming operations.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
Documentation/filesystems/00-INDEX |2 +
Documentation/filesystems/unionfs/00-INDEX | 10 +
Documentation
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/Makefile |1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/fs/Makefile b/fs/Makefile
index 500cf15..e202288 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -118,3 +118,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
obj
Includes read, write, mmap, fsync, and fasync.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/file.c | 184 +
1 files changed, 184 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/file.c
diff --git a/fs/unionfs/file.c
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/Makefile | 13 +
1 files changed, 13 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/Makefile
diff --git a/fs/unionfs/Makefile b/fs/unionfs/Makefile
new file mode 100644
index 000..17ca4a7
--- /dev/null
Mostly related to whiteouts.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/subr.c | 242 +
1 files changed, 242 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/subr.c
diff --git a/fs/unionfs/subr.c b/fs/unionfs
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/fanout.h | 366 +++
1 files changed, 366 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/fanout.h
diff --git a/fs/unionfs/fanout.h b/fs/unionfs/fanout.h
new file mode 100644
Includes writepage, writepages, readpage, prepare_write, and commit_write.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/mmap.c | 343 +
1 files changed, 343 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/mmap.c
Includes create, lookup, link, symlink, mkdir, mknod, readlink, follow_link,
put_link, permission, and setattr.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c | 1174
1 files changed, 1174 insertions(+), 0 deletions
Includes whiteout handling for directories.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dirhelper.c | 267
1 files changed, 267 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/dirhelper.c
diff --git a/fs/unionfs
Includes read_super and module-linkage routines.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/main.c | 794 +
1 files changed, 794 insertions(+), 0 deletions(-)
create mode 100644 fs/unionfs/main.c
diff --git a/fs/unionfs
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
include/linux/union_fs.h | 24
1 files changed, 24 insertions(+), 0 deletions(-)
create mode 100644 include/linux/union_fs.h
diff --git a/include/linux/union_fs.h b/include/linux/union_fs.h
new file mode 100644
index
the following:
Erez Zadok (4):
Unionfs: merged several printk KERN_CONT together into one pr_debug
Unionfs: mmap fixes
Unionfs: branch-management related locking fixes
Unionfs: ensure we have lower dentries in d_iput
commonfops.c |6 ++
debug.c | 51
Add necessary locking to dentry/inode branch-configuration, so we get
consistent values during branch-management actions. In d_revalidate_chain,
-permission, and -create, also lock parent dentry.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/commonfops.c |6 ++
fs/unionfs
Ensure we have lower inodes in prepare/commit_write.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/mmap.c | 26 +-
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index a0e654b..ad770ac 100644
--- a/fs
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c |3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index d969640..cd15243 100644
--- a/fs/unionfs/dentry.c
+++ b/fs/unionfs/dentry.c
@@ -507,9 +507,10 @@ static
CC: Joe Perches [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/debug.c | 51 +--
1 files changed, 25 insertions(+), 26 deletions(-)
diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
index 5f1d887..d154c32 100644
In message [EMAIL PROTECTED], Joe Perches writes:
On Thu, 2008-01-03 at 00:57 -0500, Erez Zadok wrote:
I think printks should be single statements and
KERN_CONT should be used as sparingly as possible.
[...]
KERN_CONT is documented as not being SMP safe, but I figured it was harmless
for just
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/debug.c | 50 ++
1 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
index c2b8b58..5f1d887 100644
--- a/fs/unionfs/debug.c
+++ b/fs
-ported
unionfs code.
Please pull from the 'master' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/ezk/unionfs.git
to receive the following:
Erez Zadok (3):
Unionfs: use printk KERN_CONT for debugging messages
Unionfs: locking fixes
Unionfs: use VFS helpers to manipulate
Lock parent dentries during revalidation.
Reduce total number of lockdep classes used.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 13 -
fs/unionfs/fanout.h |3 ++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/fs/unionfs/dentry.c b
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/unlink.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/unlink.c b/fs/unionfs/unlink.c
index a1c82b6..1e370a1 100644
--- a/fs/unionfs/unlink.c
+++ b/fs/unionfs/unlink.c
@@ -79,7 +79,7 @@ static int
/kernel/git/ezk/unionfs.git
to receive the following:
Erez Zadok (27):
VFS/fs_stack: drop cast on inode passed to i_size_read
Unionfs: use locking around i_size_write in 32-bit systems
Unionfs: clarify usage.txt read/write behavior
Unionfs: interpose cleanup and fix
to be gentler and just invalidate_mapping_pages.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 32 +++-
1 files changed, 11 insertions(+), 21 deletions(-)
diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c
index c7b6a7c..68c07ba 100644
CC: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/super.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c
index 0ff9a9e..ed3eb04 100644
--- a/fs/unionfs/super.c
+++ b/fs/unionfs
and do_sync_write.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/file.c | 46 ++
1 files changed, 2 insertions(+), 44 deletions(-)
diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c
index c922173..94784c3 100644
--- a/fs/unionfs/file.c
+++ b/fs
To avoid too much code nesting.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/rename.c | 83 --
1 files changed, 40 insertions(+), 43 deletions(-)
diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c
index 824c285..1019d47 100644
ordering (upper then lower) and consider upper vs. lower locks to be in
different classes.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
Documentation/filesystems/unionfs/issues.txt | 10 +++---
fs/unionfs/copyup.c |3 +++
fs/unionfs/inode.c
.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c | 174 +++
1 files changed, 92 insertions(+), 82 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 63ff3d3..8076d0b 100644
--- a/fs/unionfs/inode.c
+++ b/fs
Set it to 1 ns, because we could be stacked on top of file systems with such
granularity.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/main.c |7 +++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index 92f0e9d..23c18f7
Parent dentries may not be locked and may change, so don't check them. But
do check parent inodes if they are passed to the method. Also, ensure the
checks are done only if no error occurred.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/commonfops.c |1 -
fs/unionfs/file.c
If we copyup a special file (char, block, etc.), then dput the source
object.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/copyup.c |7 +++
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 3fe4865..f48209f 100644
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dirhelper.c |9 +++--
1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/fs/unionfs/dirhelper.c b/fs/unionfs/dirhelper.c
index b40090a..4b73bb6 100644
--- a/fs/unionfs/dirhelper.c
+++ b/fs/unionfs/dirhelper.c
@@ -182,6
Fix unionfs_interpose to fill lower inode info when d_splice_alias returns
NULL. Also cleanup impossible case (d_splice_alias doesn't return ERR_PTR).
Signed-off-by: Rachita Kothiyal [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/main.c | 10 +++---
1 files
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/commonfops.c |7 +--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
index 4077907..b8357a7 100644
--- a/fs/unionfs/commonfops.c
+++ b/fs/unionfs/commonfops.c
Our read_inode doesn't need to grab the superblock rwsem because there no
chance it could be affected by branch management. But our read_inode was
called from other places which did grab need to grab that rwsem, and lockdep
complained.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs
prepare_write. Handle if no lower
inodes in writepage.
Signed-off-by: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/mmap.c | 29 +
1 files changed, 9 insertions(+), 20 deletions(-)
diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c |6 ++
1 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 37258c8..7ec9c1b 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -851,7 +851,8 @@ out:
* nor
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/super.c |8
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c
index ed3eb04..c474c86 100644
--- a/fs/unionfs/super.c
+++ b/fs/unionfs/super.c
@@ -55,6 +55,14 @@ static void
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/rename.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/rename.c b/fs/unionfs/rename.c
index 1019d47..9306a2b 100644
--- a/fs/unionfs/rename.c
+++ b/fs/unionfs/rename.c
@@ -462,7 +462,7 @@ int
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/unlink.c | 11 +--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/fs/unionfs/unlink.c b/fs/unionfs/unlink.c
index 1e81494..a1c82b6 100644
--- a/fs/unionfs/unlink.c
+++ b/fs/unionfs/unlink.c
@@ -91,7 +91,9 @@ out
This is needed to drop lower objects early enough, under certain conditions,
so the lower objects don't stay behind until umount(). [LTP testing]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 42 ++
1 files changed, 42 insertions
Lockdep complained, because we eventually call vfs_unlink which'd grab the
necessary locks.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dirhelper.c |2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/fs/unionfs/dirhelper.c b/fs/unionfs/dirhelper.c
index
when expanding, in the case when
the upper level's s_maxbytes is more limiting than the lower level's.
Signed-off-by: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c | 97 ++-
1 files changed, 49
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index df6138a..740d364 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs/inode.c
@@ -158,9 +158,9 @@ out
Lockdep fixes. Support locking order/classes (e.g., parent - child -
whiteout). Remove locking from create_parents: it's enough to just dget the
dentries in question. Move parent locking to from lookup_backend to caller,
unionfs_lookup.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs
This was intended to protect the inode during branch management, but that is
now done through our superblock rwsem.
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/dentry.c | 13 -
1 files changed, 0 insertions(+), 13 deletions(-)
diff --git a/fs/unionfs/dentry.c b/fs
-by: Erez Zadok [EMAIL PROTECTED]
---
fs/unionfs/inode.c | 210 +++
1 files changed, 95 insertions(+), 115 deletions(-)
diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c
index 8076d0b..78cdfa2 100644
--- a/fs/unionfs/inode.c
+++ b/fs/unionfs
CC: Michael Tokarev [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
Documentation/filesystems/unionfs/concepts.txt | 20 +---
Documentation/filesystems/unionfs/issues.txt |2 +-
Documentation/filesystems/unionfs/usage.txt| 13 -
3 files
to access the inode's size.
CC: Mike Halcrow [EMAIL PROTECTED]
Signed-off-by: Hugh Dickins [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/stack.c |6 ++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/fs/stack.c b/fs/stack.c
index 7913fe5..4336f2b
i_size_read() takes 'const struct inode *' already, as of 2.6.20.
CC: Mike Halcrow [EMAIL PROTECTED]
Signed-off-by: Jan Engelhardt [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/stack.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/stack.c b
pages invalidation
shouldn't add too much overhead.
CC: Nick Piggin [EMAIL PROTECTED]
Signed-off-by: Erez Zadok [EMAIL PROTECTED]
---
fs/drop_caches.c|4 +---
fs/unionfs/dentry.c | 11 +++
fs/unionfs/super.c | 34 --
fs/unionfs/union.h |1
fs/unionfs/super.c | 34 -
fs/unionfs/union.h |1
include/linux/mm.h |2 -
6 files changed, 52 insertions(+), 38 deletions(-)
---
Erez Zadok
[EMAIL PROTECTED]
-
To unsubscribe
1 - 100 of 287 matches
Mail list logo