Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Dave Chinner
On Mon, Jun 28, 2010 at 07:04:20PM -0700, Joel Becker wrote: On Tue, Jun 29, 2010 at 11:56:15AM +1000, Dave Chinner wrote: Regarding XFS, how do you handle catching the tail of an allocation with an lseek(2)'d write? That is, your current allocation has a few blocks outside of i_size,

Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Dave Chinner
On Mon, Jun 28, 2010 at 07:20:33PM -0700, Linus Torvalds wrote: On Mon, Jun 28, 2010 at 6:58 PM, Joel Becker joel.bec...@oracle.com wrote:        Well, shit.  Something has changed in here, or we're really really (un)lucky.  We visited this code a year ago or so when we had serious

Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Dave Chinner
On Mon, Jun 28, 2010 at 05:54:04PM -0700, Joel Becker wrote: On Tue, Jun 29, 2010 at 10:24:21AM +1000, Dave Chinner wrote: On Mon, Jun 28, 2010 at 10:35:29AM -0700, Joel Becker wrote: This reverts commit d87815cb2090e07b0b0b2d73dc9740706e92c80c. Hi Joel, I have no problems with it

Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Joel Becker
On Tue, Jun 29, 2010 at 12:27:57PM +1000, Dave Chinner wrote: Just to clarify any possible misunderstanding here, xfs_zero_eof() also does it's IO through the page cache for similar reasons. It's just the mappings are found via the internal interfaces before the zeroing is done via the

Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Joel Becker
On Mon, Jun 28, 2010 at 07:20:33PM -0700, Linus Torvalds wrote: I dunno. Filesystem corruption makes me nervous. So I'm certainly totally willing to do the revert if that makes ocfs2 work again. Even if work again happens to be partly by mistake, and for some reason that isn't obvious.

[Ocfs2-devel] [PATCH 0/4] Add readahead support in CoW for reflinked files.

2010-06-29 Thread Tao Ma
Hi all, When we try to CoW some clusters for a reflinked file, we have to read the contents first, allocate some clusters and then map these pages to the new clusters. Currently, we use block_read_full_page to read it, but it is a little bit slower. So this patch set try to add

[Ocfs2-devel] [PATCH 1/4] ocfs2: Add struct file to ocfs2_refcount_cow.

2010-06-29 Thread Tao Ma
Add a new parameter 'struct file *' to ocfs2_refcount_cow so that we can add readahead support later. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/aops.c |2 +- fs/ocfs2/file.c | 13 - fs/ocfs2/refcounttree.c |4 +++- fs/ocfs2/refcounttree.h |3

[Ocfs2-devel] [PATCH 3/4] ocfs2: Add readhead during CoW.

2010-06-29 Thread Tao Ma
In CoW, when we meet with a readahead page, we know it is time to move the readahead window. So carry out a new readahead. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/refcounttree.c | 15 ++- 1 files changed, 14 insertions(+), 1 deletions(-) diff --git

[Ocfs2-devel] [PATCH 2/4] ocfs2: Add readahead support for CoW.

2010-06-29 Thread Tao Ma
Add a new function ocfs2_readahead_for_cow so that we start readahead before we start our CoW. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/refcounttree.c | 24 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/refcounttree.c

[Ocfs2-devel] [PATCH 4/4] ocfs2: make mmap CoW work with readahead.

2010-06-29 Thread Tao Ma
refcount_cow need file * to do the readahead. So we just add 'struct file *' to ocfs2_write_begin_nolock and __ocfs2_page_mkwrite and let them pass this parameter to ocfs2_refcount_cow. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/aops.c |7 --- fs/ocfs2/aops.h |3 ++-

Re: [Ocfs2-devel] Large ( 16TiB) volumes revisited

2010-06-29 Thread Patrick J. LoPresti
On Mon, Jun 28, 2010 at 9:21 PM, Sunil Mushran sunil.mush...@oracle.com wrote: Yes, that needs to be fixed. Meanwhile you could hand edit the jsb to test your patch. Well, I do not understand the bits well enough to do that... But I did download the source for mkfs.ocfs2 and eliminated its

Re: [Ocfs2-devel] Large ( 16TiB) volumes revisited

2010-06-29 Thread Sunil Mushran
On 06/29/2010 12:43 PM, Patrick J. LoPresti wrote: On Mon, Jun 28, 2010 at 9:21 PM, Sunil Mushransunil.mush...@oracle.com wrote: Yes, that needs to be fixed. Meanwhile you could hand edit the jsb to test your patch. Well, I do not understand the bits well enough to do that...

Re: [Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ

2010-06-29 Thread Jeff Moyer
Tao Ma tao...@oracle.com writes: Hi Jeff, On 06/27/2010 09:48 PM, Jeff Moyer wrote: Tao Matao...@oracle.com writes: I am sorry to say that the patch make jbd2 locked up when I tested fs_mark using ocfs2. I have attached the log from my netconsole server. After I reverted the patch [3/3],

Re: [Ocfs2-devel] [PATCH 1/4] ocfs2: Add struct file to ocfs2_refcount_cow.

2010-06-29 Thread Joel Becker
On Tue, Jun 29, 2010 at 04:35:38PM +0800, Tao Ma wrote: Add a new parameter 'struct file *' to ocfs2_refcount_cow so that we can add readahead support later. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/aops.c |2 +- fs/ocfs2/file.c | 13 -

Re: [Ocfs2-devel] [PATCH 3/4] ocfs2: Add readhead during CoW.

2010-06-29 Thread Joel Becker
On Tue, Jun 29, 2010 at 04:35:40PM +0800, Tao Ma wrote: @@ -2953,6 +2957,14 @@ static int ocfs2_duplicate_clusters_by_page(handle_t *handle, if (PAGE_CACHE_SIZE = OCFS2_SB(sb)-s_clustersize) BUG_ON(PageDirty(page)); + if (PageReadahead(page)

Re: [Ocfs2-devel] [PATCH 4/4] ocfs2: make mmap CoW work with readahead.

2010-06-29 Thread Joel Becker
On Tue, Jun 29, 2010 at 04:35:41PM +0800, Tao Ma wrote: refcount_cow need file * to do the readahead. So we just add 'struct file *' to ocfs2_write_begin_nolock and __ocfs2_page_mkwrite and let them pass this parameter to ocfs2_refcount_cow. As I stated in my comment on the first

[Ocfs2-devel] [PATCH] OCFS2: Allow huge ( 16 TiB) volumes to mount

2010-06-29 Thread Patrick J. LoPresti
The OCFS2 developers have already done all of the hard work to allow volumes larger than 16 TiB. But there is still a sanity check in fs/ocfs2/super.c that prevents the mounting of such volumes, even when the cluster size and journal options would allow it. This patch replaces that sanity check

Re: [Ocfs2-devel] [PATCH 0/3 v5][RFC] ext3/4: enhance fsync performance when using CFQ

2010-06-29 Thread Tao Ma
Hi Jeff, On 06/29/2010 10:56 PM, Jeff Moyer wrote: Tao Matao...@oracle.com writes: Hi Jeff, On 06/27/2010 09:48 PM, Jeff Moyer wrote: Tao Matao...@oracle.com writes: I am sorry to say that the patch make jbd2 locked up when I tested fs_mark using ocfs2. I have attached the log from my

Re: [Ocfs2-devel] [PATCH] Revert writeback: limit write_cache_pages integrity scanning to current EOF

2010-06-29 Thread Joel Becker
On Tue, Jun 29, 2010 at 01:16:11AM -0700, Joel Becker wrote: On Mon, Jun 28, 2010 at 07:20:33PM -0700, Linus Torvalds wrote: Your call, I guess. If any ocfs2 fix looks scary, and you'd prefer to have an -rc4 (in a few days - not today) with just the revert, I'm ok with that. Even if it's

Re: [Ocfs2-devel] [PATCH 1/4] ocfs2: Add struct file to ocfs2_refcount_cow.

2010-06-29 Thread Tao Ma
On 06/30/2010 07:14 AM, Joel Becker wrote: On Tue, Jun 29, 2010 at 04:35:38PM +0800, Tao Ma wrote: Add a new parameter 'struct file *' to ocfs2_refcount_cow so that we can add readahead support later. Signed-off-by: Tao Matao...@oracle.com --- fs/ocfs2/aops.c |2 +-

Re: [Ocfs2-devel] [PATCH 3/4] ocfs2: Add readhead during CoW.

2010-06-29 Thread Tao Ma
Hi Joel, On 06/30/2010 07:23 AM, Joel Becker wrote: On Tue, Jun 29, 2010 at 04:35:40PM +0800, Tao Ma wrote: @@ -2953,6 +2957,14 @@ static int ocfs2_duplicate_clusters_by_page(handle_t *handle, if (PAGE_CACHE_SIZE= OCFS2_SB(sb)-s_clustersize)

Re: [Ocfs2-devel] [PATCH 1/4] ocfs2: Add struct file to ocfs2_refcount_cow.

2010-06-29 Thread Tao Ma
Hi Joel, On 06/30/2010 07:14 AM, Joel Becker wrote: On Tue, Jun 29, 2010 at 04:35:38PM +0800, Tao Ma wrote: Add a new parameter 'struct file *' to ocfs2_refcount_cow so that we can add readahead support later. Signed-off-by: Tao Matao...@oracle.com --- fs/ocfs2/aops.c |2 +-