linux-fsdevel mailing list

FromSubjectsort iconDate
Chris Mason
Reminder: Linux Storage and Filesystem Workshop
Hello everyone, The deadline for position statements to the Linux Storage and Filesystem Workshop is quickly approaching. The position statements are an easy way for you to tell the organizers that you would like to attend, and which topics you are most interesting in. You can find all the details about the workshop here: http://www.usenix.org/events/lsf08/ The Linux Storage and Filesystem Workshop is a small, tightly focused, by-invitation workshop. It is intended to bring together ...
Nov 26, 8:47 am 2007
Erez Zadok
[PATCH 12/16] Unionfs: reintroduce a bmap method
This is needed for swapon(2) files in the union. Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/mmap.c | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c index 3f65e52..fa358ef 100644 --- a/fs/unionfs/mmap.c +++ b/fs/unionfs/mmap.c @@ -304,10 +304,33 @@ out: return err; /* assume all is ok */ } +/* + * Although unionfs isn't a block-based file system, it may stack on one. + * ->bmap ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 04/16] Unionfs: minor cleanup in the debugging in ...
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/debug.c | 64 ++++++++++++++++++++++++--------------------------- 1 files changed, 30 insertions(+), 34 deletions(-) diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c index bc221d6..c2b8b58 100644 --- a/fs/unionfs/debug.c +++ b/fs/unionfs/debug.c @@ -97,24 +97,22 @@ void __unionfs_check_inode(const struct inode *inode, "istart/end=%d:%d\n", inode, lower_inode, bindex, istart, iend); } - } else { /* ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 05/16] Unionfs: set lower mnt after mkdir which r ...
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/inode.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c index 1708f40..9c144be 100644 --- a/fs/unionfs/inode.c +++ b/fs/unionfs/inode.c @@ -674,8 +674,10 @@ out: kfree(name); - if (!err) + if (!err) { unionfs_copy_attr_times(dentry->d_inode); + unionfs_postcopyup_setmnt(dentry); + } unionfs_check_inode(parent); unionfs_check_dentry(dentry); ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 13/16] Unionfs: support splice(2)
Also remove redundant variable from unionfs_readpage (saves a bit on stack space). Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/file.c | 1 + fs/unionfs/mmap.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c index cfbfb8e..b7d0d55 100644 --- a/fs/unionfs/file.c +++ b/fs/unionfs/file.c @@ -246,4 +246,5 @@ struct file_operations unionfs_main_fops = { .fsync = unionfs_fsync, .fasync = ...
Nov 26, 9:44 am 2007
Erez Zadok
[GIT PULL -mm] 00/16 Unionfs updates/fixes/cleanups
The following is a series of patches related to Unionfs. The main changes here are bug fixes (mostly discovered using ltp-full-20071031), as well as full support for splice(2) and swapon(2). These patches were tested (where appropriate) on Linus's 2.6.24 latest code (as of v2.6.24-rc3-19-g2ffbb83), MM (mmotm-2007-11-21-16-25), as well as the backports to 2.6.{23,22,21,20,19,18,9} on ext2/3/4, xfs, reiserfs, nfs2/3/4, jffs2, ramfs, tmpfs, cramfs, and squashfs (where available). ...
Nov 26, 9:43 am 2007
Erez Zadok
[PATCH 15/16] Unionfs: update our inode size correctly u ...
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/mmap.c | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c index ea5ef3d..8c07eed 100644 --- a/fs/unionfs/mmap.c +++ b/fs/unionfs/mmap.c @@ -250,7 +250,6 @@ static int unionfs_commit_write(struct file *file, struct page *page, int err = -ENOMEM; struct inode *inode, *lower_inode; struct file *lower_file = NULL; - loff_t pos; unsigned bytes = to - from; ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 16/16] Unionfs: use generic_file_aio_read/write
There's no apparent need to define our own aio_read/write methods. Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/file.c | 27 ++------------------------- 1 files changed, 2 insertions(+), 25 deletions(-) diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c index b7d0d55..c922173 100644 --- a/fs/unionfs/file.c +++ b/fs/unionfs/file.c @@ -37,29 +37,6 @@ out: return err; } -static ssize_t unionfs_aio_read(struct kiocb *iocb, const struct iovec *iov, - unsigned long ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 08/16] Unionfs: release lower resources on succes ...
This patch prevents those resources from lingering around until memory pressure would have forced them out. The patch also properly handles directories that have been rmdir'ed which are still some process's cwd. CC: Hugh Dickins <hugh@veritas.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/inode.c | 3 ++- fs/unionfs/mmap.c | 5 ++++- fs/unionfs/unlink.c | 33 ++++++++++++++++++++++++++++----- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 14/16] Unionfs: prevent multiple writers to lower_page
Without this patch, the LTP fs test "rwtest04" triggers a BUG_ON(PageWriteback(page)) in fs/buffer.c:1706. CC: Hugh Dickins <hugh@veritas.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/mmap.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c index 623a913..ea5ef3d 100644 --- a/fs/unionfs/mmap.c +++ b/fs/unionfs/mmap.c @@ -73,6 +73,7 @@ static int unionfs_writepage(struct page *page, struct writeback_control ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 07/16] Unionfs: remove useless debugging messages
These are considered normal behaviour, they don't really reveal any insight to the person debugging the code, and they tend to clutter console messages. Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/commonfops.c | 5 ----- fs/unionfs/dentry.c | 15 +++------------ 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c index b33917e..f714e2f 100644 --- a/fs/unionfs/commonfops.c +++ ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 01/16] Unionfs: use f_path instead of f_dentry/mnt
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/debug.c | 2 +- fs/unionfs/fanout.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c index 8464fbb..bc221d6 100644 --- a/fs/unionfs/debug.c +++ b/fs/unionfs/debug.c @@ -437,7 +437,7 @@ void __unionfs_check_nd(const struct nameidata *nd, if (nd->flags & LOOKUP_OPEN) { file = nd->intent.open.file; if (unlikely(file->f_path.dentry && - ...
Nov 26, 9:43 am 2007
Erez Zadok
[PATCH 03/16] Unionfs: minor coding standards applied
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/copyup.c | 4 ++-- fs/unionfs/dirfops.c | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c index 98bed0b..3fe4865 100644 --- a/fs/unionfs/copyup.c +++ b/fs/unionfs/copyup.c @@ -460,8 +460,8 @@ int copyup_dentry(struct inode *dir, struct dentry *dentry, int bstart, goto out_unlink; /* Set permissions. */ - if ((err = copyup_permissions(sb, ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 06/16] Unionfs: handle whiteouts more efficiently ...
If we cache a dirent for file "foo", and then it gets deleted, then we look for a ".wh.foo" whiteout entry in the same dirent cache. But our dirent cache strips the ".wh." prefix, thus looking for an entry named "foo" whose filldir_node->whiteout should be 1 instead of 0. In that case, don't display an incorrect printk message that the file system may be corrupt, but set that filldir_node->whiteout to 1. CC: Hugh Dickins <hugh@veritas.com> Signed-off-by: Erez Zadok ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 11/16] Unionfs: update times in setattr
Needed to maintain Unix semantics via utimes(2). Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/inode.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/fs/unionfs/inode.c b/fs/unionfs/inode.c index ef61d9c..63ff3d3 100644 --- a/fs/unionfs/inode.c +++ b/fs/unionfs/inode.c @@ -1090,6 +1090,18 @@ static int unionfs_setattr(struct dentry *dentry, struct iattr *ia) /* get the size from the first lower inode */ lower_inode = ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 02/16] Unionfs: minor cleanup in writepage
From: Hugh Dickins <hugh@veritas.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/mmap.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c index 4918f77..1e10280 100644 --- a/fs/unionfs/mmap.c +++ b/fs/unionfs/mmap.c @@ -56,6 +56,7 @@ static int unionfs_writepage(struct page *page, struct writeback_control *wbc) copy_highpage(lower_page, page); flush_dcache_page(lower_page); ...
Nov 26, 9:43 am 2007
Erez Zadok
[PATCH 10/16] Unionfs: create opaque directories' whiteo ...
Needed to maintain Unix semantics (LTP testing). Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/subr.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/fs/unionfs/subr.c b/fs/unionfs/subr.c index 968ee8c..1a26c57 100644 --- a/fs/unionfs/subr.c +++ b/fs/unionfs/subr.c @@ -162,6 +162,19 @@ int make_dir_opaque(struct dentry *dentry, int bindex) struct dentry *lower_dentry, *diropq; struct inode *lower_dir; struct nameidata ...
Nov 26, 9:44 am 2007
Erez Zadok
[PATCH 09/16] Unionfs: don't create whiteouts on rightmo ...
If we are unlinking/rmdir'ing an object on the rightmost branch, there's no need to create a whiteout there: this saves on storage space and inodes. Also, in the (degenerate) case of having only one branch, this really saves on whiteouts. CC: Hugh Dickins <hugh@veritas.com> Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu> --- fs/unionfs/unlink.c | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-) diff --git a/fs/unionfs/unlink.c b/fs/unionfs/unlink.c index ...
Nov 26, 9:44 am 2007
Amos Waterland
Zero free bytes incorrectly reported by initramfs
Hi. The initramfs filesystem reports zero bytes free when queried with the statfs system call, even when there are 8 GB or more free memory. This is a problem for me because I am building software appliances that run entirely out of an initramfs. I need to allow the user to install a package with apt-get (of course, the install will not be persistent across reboots). The apt-get source checks the f_bfree field in the statfs struct and bails out when it sees a zero. I have submitted a ...
Nov 25, 8:41 pm 2007
Al Viro
Re: [PATCH] [2.6.24-rc3-mm1] loop cleanup in fs/namespac ...
BTW, I have a problem with that one. The change is misleading; FWIW, I'm very tempted to turn that into tail recursion, with if (!atomic_dec_and_lock(&mnt->mnt_count, &vfsmount_lock)) return; in the very beginning (i.e. invert the test and pull the body to top level). -
Nov 26, 3:30 am 2007
previous daytodaynext day
November 24, 2007November 26, 2007November 27, 2007