Re: [Ocfs2-devel] [PATCH] ocfs2: fix NULL pointer dereference in ocfs2_duplicate_clusters_by_page

2012-09-28 Thread Tao Ma
Hi Tiger, Interesting. why we never find it in the old reflink test? A little big strange. Could you please tell me the test case to trigger this issue? Another thing I want to say is that now your patch removes all the readahead during CoW. Why? If you want to avoid the

Re: [Ocfs2-devel] RFC: OCFS2 heartbeat improvements

2012-08-23 Thread Tao Ma
On 08/24/2012 01:33 AM, Sunil Mushran wrote: On Wed, Aug 22, 2012 at 8:44 PM, Tao Ma t...@tao.ma mailto:t...@tao.ma wrote: I guess the final solution will be WRITE_FUA, and I see btrfs uses it to write out the superblock. It will be handled differently by the underlying block

Re: [Ocfs2-devel] RFC: OCFS2 heartbeat improvements

2012-08-22 Thread Tao Ma
Hi Jeff, On 08/22/2012 10:17 PM, Jie Liu wrote: Hi All, These days, I am investigating an issue regarding OCFS2 unexpected reboot in some real world use cases. This problem occurred when the network status goes south, when the disk IO load is too high, etc... I suspect it might caused by

Re: [Ocfs2-devel] Maybe a null point bug in __ocfs2_change_file_space.

2012-04-13 Thread Tao Ma
Hi Limin, Thanks for the report and the patch is already there. Please search the archive with the subject ocfs2: Fix oops in fallocate(). Thanks Tao On 04/13/2012 03:58 PM, Chang Limin wrote: Hi, Version linux-3.3 In function static long ocfs2_fallocate(struct file *file, int

Re: [Ocfs2-devel] [PATCH 1/1] ocfs2: use spinlock irqsave for downconvert lock.patch

2012-01-29 Thread Tao Ma
On 01/30/2012 07:44 AM, srinivas eeda wrote: Hi Tao, thanks for reviewing. When ocfs2dc thread holds dc_task_lock spinlock and receives soft IRQ for I/O completion it deadlock itself trying to get same spinlock in ocfs2_wake_downconvert_thread could you please describe it in more detail?

Re: [Ocfs2-devel] [PATCH 1/1] ocfs2: use spinlock irqsave for downconvert lock.patch

2012-01-28 Thread Tao Ma
Hi Srini, On 01/29/2012 10:13 AM, Srinivas Eeda wrote: When ocfs2dc thread holds dc_task_lock spinlock and receives soft IRQ for I/O completion it deadlock itself trying to get same spinlock in ocfs2_wake_downconvert_thread could you please describe it in more detail? btw, if you are afraid of

Re: [Ocfs2-devel] [PATCH] ocfs2: submit disk heartbeat bio using WRITE_SYNC

2011-12-05 Thread Tao Ma
over other requests. Signed-off-by: Noboru Iwamatsu n_iwama...@jp.fujitsu.com looks good to me. Acked-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/heartbeat.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/ocfs2/cluster/heartbeat.c b/fs/ocfs2/cluster

Re: [Ocfs2-devel] mount.ocfs2: Invalid argument while mounting /dev/mapper/xenconfig_part1 on /etc/xen/vm/. Check 'dmesg' for more information on this error.

2011-07-14 Thread Tao Ma
On 07/14/2011 03:47 PM, r.giord...@libero.it wrote: Hello, this is my scenario: 1)I've created a Pacemaker cluster with the following ocfs package on opensuse 11.3 64bit ocfs2console-1.8.0-2.1.x86_64 ocfs2-tools-o2cb-1.8.0-2.1.x86_64 ocfs2-tools-1.8.0-2.1.x86_64 2)I've configured the

Re: [Ocfs2-devel] [PATCH] ocfs2: make direntry invalid when deleting it

2011-07-12 Thread Tao Ma
Hi wengang, On 07/12/2011 04:43 PM, Wengang Wang wrote: When we deleting a direntry from a directory, if it's the first in a block we invalid it by setting inode to 0; otherwise, we merge the deleted one to the prior and contiguous direntry. And we don't truncate directories. There is a

Re: [Ocfs2-devel] ocfs2: serialize unaligned aio

2011-06-22 Thread Tao Ma
Hi Mark, On 06/23/2011 05:23 AM, Mark Fasheh wrote: Fix a corruption that can happen when we have (two or more) outstanding aio's to an overlapping unaligned region. Ext4 (e9e3bcecf44c04b9e6b505fd8e2eb9cea58fb94d) and xfs recently had to fix similar issues. In our case what happens is that

[Ocfs2-devel] [PATCH 0/3 V2] ocfs2: Add batched discard support.

2011-05-22 Thread Tao Ma
Hi all, changelog from v1 to v2: integrated review advices from Sunil. These are the patches for adding batched discard support in ocfs2. I have tested it with xfstests 251 and it passed. btw, I have also run some tests against it(bonnie++, postmark, ffsb and fs_mark) and there are no

[Ocfs2-devel] [PATCH 2/3 V2] ocfs2: Add FITRIM ioctl.

2011-05-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding ioctl function for FITRIM. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/ioctl.c | 24 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c index 8f13c59

[Ocfs2-devel] [PATCH 3/3 V3] ocfs2: Add trace event for trim.

2011-05-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding trace event for trim. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c |7 +++ fs/ocfs2/ocfs2_trace.h | 25 + 2 files changed, 32 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2

[Ocfs2-devel] [PATCH 1/3 V2] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-05-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all the freed clusters greater than minlen will be discarded to the block layer. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c | 159

Re: [Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-05-09 Thread Tao Ma
Hi Sunil, Thanks for the review. On 05/10/2011 07:02 AM, Sunil Mushran wrote: On 05/06/2011 02:27 AM, Tao Ma wrote: From: Tao Maboyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all the freed clusters greater than minlen

[Ocfs2-devel] [PATCH 0/3] ocfs2: Add batched discard support.

2011-05-06 Thread Tao Ma
Hi all, These are the patches for adding batched discard support in ocfs2. I have tested it with xfstests 251 and it passed. btw, I have also run some tests against it(bonnie++, postmark, ffsb and fs_mark) and there are no big difference before and after the discard. Regards, Tao

[Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-05-06 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all the freed clusters greater than minlen will be discarded to the block layer. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c | 156

[Ocfs2-devel] [PATCH 3/3] ocfs2: Add trace event for trim.

2011-05-06 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding trace event for trim. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c |7 +++ fs/ocfs2/ocfs2_trace.h | 25 + 2 files changed, 32 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2

[Ocfs2-devel] [PATCH 2/3] ocfs2: Add FITRIM ioctl.

2011-05-06 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding ioctl function for FITRIM. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/ioctl.c | 24 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c index 8f13c59

Re: [Ocfs2-devel] [Ocfs2-users] How long for an fsck?

2011-04-23 Thread Tao Ma
Hi Josep, sorry, I don't subscribed to ocfs2-users after I left Oracle. On 04/23/2011 08:22 AM, Sunil Mushran wrote: On 04/22/2011 03:24 PM, Josep Guerrero wrote: How long did the debugfs output take? I think about 30 minutes. No more than 50 for sure (just by looking at the times of

Re: [Ocfs2-devel] Tiny patch for cached ACLs support

2011-03-31 Thread Tao Ma
Hi Jeff, On 03/31/2011 04:28 PM, jeff.liu wrote: Hello, Below is a tiny patch for adding cached ACLs support to OCFS2, I have run a few simple tests like getacl/setacl/chacl on my single node OCFS2, it works for me. Your codes seem to not handle the case of cross node update? See node A

Re: [Ocfs2-devel] Tiny patch for cached ACLs support

2011-03-31 Thread Tao Ma
On 03/31/2011 04:51 PM, jeff.liu wrote: Hi Tao, Tao Ma wrote: Hi Jeff, On 03/31/2011 04:28 PM, jeff.liu wrote: Hello, Below is a tiny patch for adding cached ACLs support to OCFS2, I have run a few simple tests like getacl/setacl/chacl on my single node OCFS2, it works for me. Your

Re: [Ocfs2-devel] [PATCH] Ocfs2: do not allow fallocate on dir file

2011-03-09 Thread Tao Ma
On 03/10/2011 10:27 AM, Sunil Mushran wrote: On 03/09/2011 03:01 PM, Mark Fasheh wrote: On Fri, Mar 04, 2011 at 03:10:33PM +0800, Li Dongyang wrote: @@ -1870,6 +1870,11 @@ static int __ocfs2_change_file_space(struct file *file, struct inode *inode, goto out_inode_unlock; }

[Ocfs2-devel] [PATCH 0/3] ocfs2: Add batched discard support

2011-03-07 Thread Tao Ma
Hi all, This patch set adds batched discard support to ocfs2. Please check. Thanks. Regards, Tao ___ Ocfs2-devel mailing list Ocfs2-devel@oss.oracle.com http://oss.oracle.com/mailman/listinfo/ocfs2-devel

[Ocfs2-devel] [PATCH 2/3] ocfs2: Add FITRIM ioctl.

2011-03-07 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding ioctl function for FITRIM. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/ioctl.c | 24 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2/ioctl.c b/fs/ocfs2/ioctl.c index d9bfa90

[Ocfs2-devel] [PATCH 3/3] ocfs2: Add trace event for trim.

2011-03-07 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add the corresponding trace event for trim. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c |7 +++ fs/ocfs2/ocfs2_trace.h | 25 + 2 files changed, 32 insertions(+), 0 deletions(-) diff --git a/fs/ocfs2

[Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-03-07 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all the freed clusters greater than minlen will be discarded to the block layer. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/alloc.c | 154

Re: [Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-03-07 Thread Tao Ma
On 03/08/2011 12:55 PM, Tristan Ye wrote: Hi Tao, Most of codes looks pretty neat to me, few comments inlined below: Thanks for the review. Tao Ma wrote: From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all

Re: [Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-03-07 Thread Tao Ma
On 03/08/2011 02:23 PM, Tristan Ye wrote: Tao Ma wrote: On 03/08/2011 12:55 PM, Tristan Ye wrote: Hi Tao, Most of codes looks pretty neat to me, few comments inlined below: Thanks for the review. Tao Ma wrote: From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed

Re: [Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-03-07 Thread Tao Ma
On 03/08/2011 02:53 PM, Tristan Ye wrote: Tao Ma wrote: On 03/08/2011 02:23 PM, Tristan Ye wrote: Tao Ma wrote: On 03/08/2011 12:55 PM, Tristan Ye wrote: Hi Tao, Most of codes looks pretty neat to me, few comments inlined below: Thanks for the review. Tao Ma wrote: From: Tao Ma boyu

Re: [Ocfs2-devel] [PATCH 1/3] ocfs2: Add ocfs2_trim_fs for SSD trim support.

2011-03-07 Thread Tao Ma
On 03/08/2011 12:55 PM, Tristan Ye wrote: Hi Tao, Most of codes looks pretty neat to me, few comments inlined below: Tao Ma wrote: From: Tao Ma boyu...@taobao.com Add ocfs2_trim_fs to support trimming freed clusters in the volume. A range will be given and all the freed clusters

Re: [Ocfs2-devel] forget_all_cached_acls()

2011-02-22 Thread Tao Ma
Hi Joel, On 02/22/2011 05:32 PM, Joel Becker wrote: Hey everyone, I just found out from Steven over in GFS2 that there is a kernel call forget_all_cached_acls(). If a cluster filesystem is using ACL caching (added by Viro a little while back), they use forget_all_cached_acls() at lock

Re: [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0).

2011-02-13 Thread Tao Ma
Hi Joel, any plan to integrate this patch set for the next merge window? Regards, Tao On 12/23/2010 03:19 PM, Tao Ma wrote: Hi all, This patch set is my attempt to replace our old debug(mlog) with new trace events. Wengang Wang has did some work in this field about one year ago. http

[Ocfs2-devel] [PATCH] ocfs2: optimize ocfs2_check_dir_entry() with unlikely() annotations

2011-01-24 Thread Tao Ma
From: Tao Ma boyu...@taobao.com In cad3f00, ext4_check_dir_entry was modified by adding some unlikely. Ted described it as This function gets called a lot for large directories, and the answer is almost always 'no, no, there's no problem'. This means using unlikely() is a good thing. ext3 added

Re: [Ocfs2-devel] useless tools - tunefs.ocfs2,fsck.ocfs2

2011-01-20 Thread Tao Ma
On 01/20/2011 09:42 PM, Pawel wrote: One of ocfs2 filesystem has some errors. 1. fsck.ocfs2 informs me that :I/O error on channel while reading .. It was NOT TRUE - I was able to read and write entire storage over the network multiple times. It means it meet I/O error in some ocfs2

Re: [Ocfs2-devel] [PATCH 9/9] Ocfs2: Handle refcounted extents when doing moving/defraging.

2011-01-16 Thread Tao Ma
On 01/17/2011 03:08 PM, Tristan Ye wrote: Tao, any thoughts? ok, so in general it looks good. some comments are inlined. Signed-off-by: Tristan Yetristan...@oracle.com --- fs/ocfs2/move_extents.c | 112 +- 1 files changed, 99 insertions(+),

Re: [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0).

2011-01-04 Thread Tao Ma
On 01/05/2011 06:15 AM, Joel Becker wrote: On Tue, Jan 04, 2011 at 05:06:53PM +0800, Tao Ma wrote: On 01/01/2011 06:39 AM, Joel Becker wrote: On Fri, Dec 31, 2010 at 11:11:31PM +0800, Tao Ma wrote: On 12/31/2010 08:52 PM, Joel Becker wrote: Overall this seems pretty straightforward

Re: [Ocfs2-devel] [PATCH 05/34] ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c

2010-12-31 Thread Tao Ma
Hi Christoph, Thanks for the review. On 12/31/2010 09:15 PM, Christoph Hellwig wrote: diff --git a/fs/ocfs2/ocfs2_trace.h b/fs/ocfs2/ocfs2_trace.h index 8d4e49a..2dfc3b0 100644 --- a/fs/ocfs2/ocfs2_trace.h +++ b/fs/ocfs2/ocfs2_trace.h @@ -6,6 +6,507 @@ #includelinux/tracepoint.h

Re: [Ocfs2-devel] [PATCH] ocfs2: lock the page in __ocfs2_page_mkwrite() -v2

2010-12-30 Thread Tao Ma
On 12/31/2010 07:32 AM, Joel Becker wrote: On Thu, Dec 16, 2010 at 08:56:06PM +0800, Wengang Wang wrote: In ocfs2_grab_pages_for_write() code, there is a comment that 1131 if (index == target_index mmap_page) { 1132 /* 1133 *

Re: [Ocfs2-devel] [PATCH 2/8] Ocfs2: Add basic framework and source files for extent moving.

2010-12-28 Thread Tao Ma
Hi Tristan, Some comments inlined. On 12/28/2010 07:40 PM, Tristan Ye wrote: snip +static int ocfs2_move_extents(struct ocfs2_move_extents_context *context) +{ + int status; + handle_t *handle; + struct inode *inode = context-inode; + struct buffer_head *di_bh = NULL;

Re: [Ocfs2-devel] disk full when it shouldn't

2010-12-27 Thread Tao Ma
Hi Massimo, On 12/27/2010 10:31 PM, Massimo Cetra wrote: Il 03/12/2010 02:22, Tao Ma ha scritto: I have to say that df is only an approximate way to get the real info of an ocfs2 volume. df -i use statfs(2). And since there is no easy way to calculate all the inodes without locking every

[Ocfs2-devel] [PATCH 19/34] ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com This is the 2nd step to remove the debug info of SUPER. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/heartbeat.c |4 ++-- fs/ocfs2/ocfs2_trace.h |9 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/fs/ocfs2/heartbeat.c

[Ocfs2-devel] [PATCH 30/34] ocfs2: Remove masklog ML_JOURNAL.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/journal.c and the masklog JOURNAL. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/journal.c | 130 ++-- fs/ocfs2

[Ocfs2-devel] [PATCH 32/34] ocfs2: Remove masklog ML_UPTODATE.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0,...) and mlog(ML_UPTODATE,...) from fs/ocfs2/uptodate.c and fs/ocfs2/buffer_head_io.c. The masklog UPTODATE is removed finally. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/buffer_head_io.c |3 +- fs/ocfs2/cluster/masklog.c |1

[Ocfs2-devel] [PATCH 22/34] ocfs2: Remove masklog ML_RESERVATIONS.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/reservations.c and the masklog RESERVATIONS. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/ocfs2_trace.h | 170

[Ocfs2-devel] [PATCH 33/34] ocfs2: Remove masklog ML_AIO.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com There is no user for masklog AIO, so remove it. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - 2 files changed, 0 insertions(+), 2 deletions(-) diff --git a/fs/ocfs2/cluster/masklog.c b/fs

[Ocfs2-devel] [PATCH 26/34] ocfs2: Remove mlog(0) from fs/ocfs2/dir.c

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com This is the 2nd step to remove the debug info of NAMEI. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/dir.c | 83 +--- fs/ocfs2/ocfs2_trace.h | 197 2 files changed, 234

[Ocfs2-devel] [PATCH 23/34] ocfs2: Remove mlog(0) from quota_local.c.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/quota_local.c. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/ocfs2_trace.h | 24 fs/ocfs2/quota_local.c | 13 +++-- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/fs/ocfs2

[Ocfs2-devel] [PATCH 24/34] ocfs2: Remove masklog ML_QUOTA.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/quota_global.c and the masklog QUOTA. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/ocfs2_trace.h | 110

[Ocfs2-devel] [PATCH 20/34] ocfs2: Remove masklog ML_SUPER.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/super.c and the masklog SUPER. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/ocfs2_trace.h | 141 fs

[Ocfs2-devel] [PATCH 21/34] ocfs2: Remove masklog ML_XATTR.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/xattr.c and the masklog ML_XATTR. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/ocfs2_trace.h | 342

[Ocfs2-devel] [PATCH 31/34] ocfs2: Remove masklog ML_BH_IO.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0,...) and mlog(ML_BH_IO,...) from fs/ocfs2/buffer_head_io.c. The masklog BH_IO is removed finally. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/buffer_head_io.c | 37 +++-- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2

[Ocfs2-devel] [PATCH 29/34] ocfs2: Remove masklog ML_EXPORT.

2010-12-23 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/export.c and the masklog EXPORT. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/export.c | 47 +++- fs/ocfs2/ocfs2_trace.h

Re: [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0).

2010-12-23 Thread Tao Ma
Oh, I suddenly found that I send an older version. So it contains some bugs and I will update them after the review is done. But it doesn't prevent you guys from review, and please don't run it by now. ;) Regards, Tao On 12/23/2010 03:19 PM, Tao Ma wrote: Hi all, This patch set is my attempt

[Ocfs2-devel] [PATCH] ocfs2: Fix system inodes cache overflow.

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com When we store system inodes cache in ocfs2_super, we use a array for global system inodes. But unfortunately, the range is calculated wrongly which makes it overflow and pollute ocfs2_super-local_system_inodes. This patch fix it by setting the range properly

[Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0).

2010-12-22 Thread Tao Ma
Hi all, This patch set is my attempt to replace our old debug(mlog) with new trace events. Wengang Wang has did some work in this field about one year ago. http://oss.oracle.com/pipermail/ocfs2-devel/2009-September/005230.html But at that time we don't have ocfs2 1.6 introduced, so we delay

[Ocfs2-devel] [PATCH 01/34] ocfs2: Remove unused truncate function from alloc.c

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com Tristan Ye has done some refactoring against our truncate process, so some functions like ocfs2_prepare_truncate and ocfs2_free_truncate_context are no use and we'd better remove them. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c | 74

[Ocfs2-devel] [PATCH 04/34] ocfs2: Add ocfs2_trace.h.

2010-12-22 Thread Tao Ma
. Signed-off-by: Wengang Wang wen.gang.w...@oracle.com Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/ocfs2_trace.h | 16 fs/ocfs2/super.c |3 +++ 2 files changed, 19 insertions(+), 0 deletions(-) create mode 100644 fs/ocfs2/ocfs2_trace.h diff --git a/fs/ocfs2

[Ocfs2-devel] [PATCH 06/34] ocfs2: Remove mlog(0) from fs/ocfs2/localalloc.c

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com This is the 2nd step to remove the debug info of DISK_ALLOC. So this patch removes all mlog(0,...) from localalloc.c and adds the corresponding tracepoints. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some

[Ocfs2-devel] [PATCH 05/34] ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com This is the first try of replacing debug mlog(0,...) to trace events. Wengang has did some work in his original patch http://oss.oracle.com/pipermail/ocfs2-devel/2009-November/005513.html But he didn't finished it. So this patch removes all mlog(0,...) from alloc.c

[Ocfs2-devel] [PATCH 09/34] ocfs2: Remove DISK_ALLOC from masklog.

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com Since all 4 files, localalloc.c, suballoc.c, alloc.c and resize.c, which use DISK_ALLOC are changed to trace events, Remove masklog DISK_ALLOC totally. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c |1 - fs/ocfs2/cluster/masklog.c

[Ocfs2-devel] [PATCH 07/34] ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.c

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com This is the 3rd step to remove the debug info of DISK_ALLOC. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/ocfs2_trace.h | 329 +++- fs/ocfs2/suballoc.c| 107 2 files changed, 381 insertions

[Ocfs2-devel] [PATCH 03/34] ocfs2: Remove EXIT from masklog.

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com mlog_exit is used to record the exit status of a function. But because it is added in so many functions, if we enable it, the system logs get filled up quickly and cause too much I/O. So actually no one can open it for a production system or even for a test

[Ocfs2-devel] [PATCH 10/34] ocfs2: Remove masklog ML_REFCOUNT.

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com Change all the mlog(0, in fs/ocfs2/refcounttree.c to trace events. And finally remove masklog ML_REFCOUNT. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/ocfs2_trace.h | 430

Re: [Ocfs2-devel] [PATCH 00/34] OCFS2: Add trace event and replace mlog(0).

2010-12-22 Thread Tao Ma
forget to say. you can view from http://repo.or.cz/w/taoma-kernel.git/shortlog/refs/heads/mlog_replace and pull from git://repo.or.cz/taoma-kernel.git mlog_replace Regards, Tao On 12/23/2010 03:19 PM, Tao Ma wrote: Hi all, This patch set is my attempt to replace our old debug(mlog) with new

[Ocfs2-devel] [PATCH 15/34] ocfs2: Little refactoring against ocfs2_iget.

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com ocfs2_iget is used to get/create inode. Only iget5_locked will give us an inode = NULL. So move this check ahead of ocfs2_read_locked_inode so that we don't need to check inode before we read and unlock inode. This is also helpful for trace event(see the next patch

[Ocfs2-devel] [PATCH 12/34] ocfs2: Remove FILE_IO from masklog.

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com Change all the mlog(0, in fs/ocfs2/mmap.c to trace events. And finally remove masklog FILE_IO. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/mmap.c|7 +++ fs/ocfs2

[Ocfs2-devel] [PATCH 17/34] ocfs2: Remove masklog ML_EXTENT_MAP.

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/extent_map.c and the masklog EXTENT_MAP. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/extent_map.c |5 ++--- fs/ocfs2/ocfs2_trace.h | 32

[Ocfs2-devel] [PATCH 13/34] ocfs2: remove INODE from unused files.

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com As there are no such debug information in fs/ocfs2/ioctl.c, fs/ocfs2/locks.c and fs/ocfs2/sysfile.c, ML_INODE are also removed. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/acl.c |1 - fs/ocfs2/ioctl.c |1 - fs/ocfs2/locks.c |1 - 3 files

[Ocfs2-devel] [PATCH 11/34] ocfs2: Remove mlog(0) from fs/ocfs2/aops.c

2010-12-22 Thread Tao Ma
From: Tao Ma tao...@oracle.com Remove all the mlog(0, in fs/ocfs2/aops.c. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/aops.c| 55 fs/ocfs2/ocfs2_trace.h | 168 2 files changed, 197 insertions(+), 26 deletions

[Ocfs2-devel] [PATCH 16/34] ocfs2: Remove masklog ML_INODE.

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com Remove mlog(0) from fs/ocfs2/inode.c and the masklog INODE. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/cluster/masklog.c |1 - fs/ocfs2/cluster/masklog.h |1 - fs/ocfs2/inode.c | 107 + fs/ocfs2/ocfs2_trace.h

[Ocfs2-devel] [PATCH 14/34] ocfs2: Remove mlog(0) from fs/ocfs2/file.c

2010-12-22 Thread Tao Ma
From: Tao Ma boyu...@taobao.com This is the 2nd step to remove the debug info of INODE. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/file.c| 190 - fs/ocfs2/ocfs2_trace.h | 367 fs/ocfs2/sysfile.c

[Ocfs2-devel] [PATCH] ocfs2: Release buffer_head in case of error in ocfs2_double_lock.

2010-12-20 Thread Tao Ma
From: Tao Ma boyu...@taobao.com In ocfs2_double_lock, when ocfs2_inode_lock for inode1 fails, we just unlock inode2 and return without releasing buffer we get from inode_lock(inode2). The good thing is that it is freed by the only caller ocfs2_rename when it exits. But I don't think

[Ocfs2-devel] [PATCH] ocfs2: Hold ip_lock when set/clear flags for indexed dir.

2010-12-15 Thread Tao Ma
From: Tao Ma boyu...@taobao.com When we set/clear the dyn_features for an inode we hold the ip_lock. So do it when we set/clear OCFS2_INDEXED_DIR_FL also. Signed-off-by: Tao Ma boyu...@taobao.com --- fs/ocfs2/dir.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/fs

Re: [Ocfs2-devel] [PATCH 1/1] ocfs2: Adjust masklog flag values

2010-12-10 Thread Tao Ma
On 12/10/2010 01:33 PM, Sunil Mushran wrote: ok. But this patch is a bug fix for 2.6.37. So is still needed. I don't mean this bug fix isn't needed. Sorry if I described it wrongly. What I want to say is that with my new patch set, these type of things would happen again. ;) Regards, Tao On

Re: [Ocfs2-devel] [RFC] ocfs2: Remove j_trans_barrier

2010-12-06 Thread Tao Ma
Hi Mark, On 12/07/2010 09:13 AM, Mark Fasheh wrote: On Fri, Nov 26, 2010 at 02:35:58PM +0800, Tao Ma wrote: Hi Joel, On 11/25/2010 06:08 PM, Joel Becker wrote: On Wed, Oct 20, 2010 at 02:08:17PM +0800, Tao Ma wrote: j_trans_barrier in ocfs2 is used to protect some journal operations

Re: [Ocfs2-devel] disk full when it shouldn't

2010-12-02 Thread Tao Ma
Hi Massimo, Massimo Cetra wrote: Il 09/11/2010 02:06, Tao Ma ha scritto: Hi Massimo, From the output, it seems that you shouldn't meet with ENOSPC problem at that time. So when you meet with ENOSPC, could you please do 'sync' first(that will sync the metadata to the disk so that stat_sysdir

Re: [Ocfs2-devel] disk full when it shouldn't

2010-12-02 Thread Tao Ma
Hi Massimo, I just noticed anther thing. The inode_alloc: isn't full, so node1 should steal inode from node0, why it can't? You delete some files in node0? Regards, Tao On 12/03/2010 09:22 AM, Tao Ma wrote: Hi Massimo, Massimo Cetra wrote: Il 09/11/2010 02:06, Tao Ma ha scritto: Hi

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.

2010-11-29 Thread Tao Ma
Hi Tristan, Your patch forgets to set the new flag properly in direct read. Regards, Tao On 11/29/2010 03:54 PM, Tristan Ye wrote: Due to newly-introduced 'coherency=full' O_DIRECT writes also takes the EX rw_lock like buffered writes did(rw_level == 1), it turns out messing the usage

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.

2010-11-29 Thread Tao Ma
Hi Tristan, On 11/29/2010 05:21 PM, Tristan Ye wrote: Due to newly-introduced 'coherency=full' O_DIRECT writes also takes the EX rw_lock like buffered writes did(rw_level == 1), it turns out messing the usage of 'level' in ocfs2_dio_end_io() up, which caused i_alloc_sem being failed to get

Re: [Ocfs2-devel] [RFC] ocfs2: Remove j_trans_barrier

2010-11-25 Thread Tao Ma
Hi Joel, On 11/25/2010 06:08 PM, Joel Becker wrote: On Wed, Oct 20, 2010 at 02:08:17PM +0800, Tao Ma wrote: j_trans_barrier in ocfs2 is used to protect some journal operations in ocfs2. So normally, it is used as belows: 1. In journal transaction. When we start a transaction, We

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.

2010-11-21 Thread Tao Ma
Hi Tristan, On 11/22/2010 10:22 AM, Tristan Ye wrote: Tao Ma wrote: Hi Tristan, Just add joel to the cc in case he has a different option. On 11/19/2010 04:38 PM, Tristan Ye wrote: Former logic of ocfs2_file_aio_write() was a bit stricky to unlock the rw_lock and i_alloc_sem, by using

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.

2010-11-19 Thread Tao Ma
Hi Tristan, Just add joel to the cc in case he has a different option. On 11/19/2010 04:38 PM, Tristan Ye wrote: Former logic of ocfs2_file_aio_write() was a bit stricky to unlock the rw_lock and i_alloc_sem, by using some private bits in struct 'iocb' to communite with

[Ocfs2-devel] [PATCH] ocfs2: Change some lock status member in ocfs2_lock_res to char.

2010-11-13 Thread Tao Ma
: Goldwyn Rodrigues rgold...@suse.de Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/ocfs2.h |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/ocfs2/ocfs2.h b/fs/ocfs2/ocfs2.h index d840821..1efea36 100644 --- a/fs/ocfs2/ocfs2.h +++ b/fs/ocfs2/ocfs2.h @@ -159,7

Re: [Ocfs2-devel] [PATCH 2/5] ocfs2: Remove ENTRY from masklog.

2010-11-10 Thread Tao Ma
Joel Becker wrote: On Wed, Nov 10, 2010 at 10:52:20AM +0800, Tao Ma wrote: ENTRY is used to record the entry of a function. But because it is added in so many functions, if we enable it, the system logs get filled up quickly and cause too much I/O. So actually no one can open

Re: [Ocfs2-devel] [PATCH 3/5] ocfs2: Remove EXIT from masklog.

2010-11-10 Thread Tao Ma
Joel Becker wrote: On Wed, Nov 10, 2010 at 10:52:21AM +0800, Tao Ma wrote: mlog_exit is used to record the exit status of a function. But because it is added in so many functions, if we enable it, the system logs get filled up quickly and cause too much I/O. So actually no one can open

Re: [Ocfs2-devel] [PATCH 4/5] ocfs2: Add ocfs2_trace.h.

2010-11-10 Thread Tao Ma
Joel Becker wrote: On Wed, Nov 10, 2010 at 10:52:22AM +0800, Tao Ma wrote: About one year ago, Wengang Wang tried some first steps to add tracepoints to ocfs2. But at that time we don't have ocfs2 1.6 introduced, so we delay this work until now after ocfs2 1.6 and UEK(Unbreakable

Re: [Ocfs2-devel] [PATCH 5/5] ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c

2010-11-10 Thread Tao Ma
Joel Becker wrote: On Wed, Nov 10, 2010 at 10:52:23AM +0800, Tao Ma wrote: So this patch removes all mlog(0,...) from alloc.c and adds the corresponding tracepoints. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some are replaced and some

[Ocfs2-devel] [PATCH 0/5] The first try of adding trace event to ocfs2.

2010-11-09 Thread Tao Ma
Hi all, This patch set is my first try to add trace event to ocfs2. Wengang Wang has did some work in this field about one year ago. http://oss.oracle.com/pipermail/ocfs2-devel/2009-September/005230.html But at that time we don't have ocfs2 1.6 introduced, so we delay this work until now after

[Ocfs2-devel] [PATCH 4/5] ocfs2: Add ocfs2_trace.h.

2010-11-09 Thread Tao Ma
...@oracle.com Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/ocfs2_trace.h | 16 fs/ocfs2/super.c |3 +++ 2 files changed, 19 insertions(+), 0 deletions(-) create mode 100644 fs/ocfs2/ocfs2_trace.h diff --git a/fs/ocfs2/ocfs2_trace.h b/fs/ocfs2/ocfs2_trace.h new

[Ocfs2-devel] [PATCH 3/5] ocfs2: Remove EXIT from masklog.

2010-11-09 Thread Tao Ma
return value, it is replaced with mlog(0,...). mlog_exit_ptr is changed to mlog(0. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c | 26 +++ fs/ocfs2/aops.c | 19 ++- fs/ocfs2/buffer_head_io.c|7 ++-- fs/ocfs2/cluster

[Ocfs2-devel] [PATCH 5/5] ocfs2: Remove mlog(0) from fs/ocfs2/alloc.c

2010-11-09 Thread Tao Ma
. What's more, it defines some event classes so that we can use them later. Signed-off-by: Wengang Wang wen.gang.w...@oracle.com Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c | 165 + fs/ocfs2/ocfs2_trace.h | 485

[Ocfs2-devel] [PATCH 1/5] ocfs2: Remove unused truncate function from alloc.c

2010-11-09 Thread Tao Ma
Tristan Ye has done some refactoring against our truncate process, so some functions like ocfs2_prepare_truncate and ocfs2_free_truncate_context are no use and we'd better remove them. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c | 74

Re: [Ocfs2-devel] disk full when it shouldn't

2010-11-08 Thread Tao Ma
Hi Massimo, On 11/08/2010 11:14 PM, Massimo Cetra wrote: Hi all, i've been using OCFS2 for a while (2 years or so, now) but i still have a big problem. on each filesystem that i have, it happens that, even if df reports that the disk has plenty of free space avalaible, no one can write any

[Ocfs2-devel] [PATCH v2] ocfs2: Try to free truncate log when meeting ENOSPC in write.

2010-11-04 Thread Tao Ma
at that point and try again. This method is inspired by Mark Fasheh mfas...@suse.com. Thanks. Cc: Mark Fasheh mfas...@suse.com Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c |3 ++ fs/ocfs2/aops.c | 59 +- fs/ocfs2/ocfs2.h |5

Re: [Ocfs2-devel] [PATCH] ocfs2: Try to free truncate log when meeting ENOSPC in write.

2010-11-03 Thread Tao Ma
On 11/04/2010 09:46 AM, Joel Becker wrote: On Tue, Oct 26, 2010 at 03:29:08PM +0800, Tao Ma wrote: Recently, one of our colleagues meet with a problem that if we write/delete a 32mb files repeatly, we will get an ENOSPC in the end. And the corresponding bug is 1288. http://oss.oracle.com

[Ocfs2-devel] [PATCH] ocfs2: Try to free truncate log when meeting ENOSPC in write.

2010-10-26 Thread Tao Ma
at that point and try again. This method is inspired by Mark Fasheh mfas...@suse.com. Thanks. Cc: Mark Fasheh mfas...@suse.com Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/alloc.c |3 ++ fs/ocfs2/aops.c | 59 +- fs/ocfs2/ocfs2.h |2 + 3

Re: [Ocfs2-devel] [PATCH] ocfs2: Try to free truncate log when meeting ENOSPC in write.

2010-10-26 Thread Tao Ma
On 10/26/2010 04:28 PM, tristan wrote: Hi Tao, Just some tiny comments;) Tao Ma wrote: Recently, one of our colleagues meet with a problem that if we write/delete a 32mb files repeatly, we will get an ENOSPC in the end. And the corresponding bug is 1288. http://oss.oracle.com/bugzilla

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Add a mount option coherency=* to handle cluster coherency for O_DIRECT writes.

2010-10-11 Thread Tao Ma
Hi Joel, Joel Becker wrote: On Mon, Oct 11, 2010 at 04:46:39PM +0800, Tristan Ye wrote: Currently, default behavior of O_DIRECT writes was allowing concurrent writing among nodes, no cluster coherency guaranteed (no EX locks was taken), it hurts buffered reads on other nodes by reading

Re: [Ocfs2-devel] [PATCH 1/1] Ocfs2: Add a mount option coherency=* to handle cluster coherency for O_DIRECT writes.

2010-10-11 Thread Tao Ma
Tao Ma wrote: Hi Joel, Joel Becker wrote: On Mon, Oct 11, 2010 at 04:46:39PM +0800, Tristan Ye wrote: Currently, default behavior of O_DIRECT writes was allowing concurrent writing among nodes, no cluster coherency guaranteed (no EX locks was taken), it hurts buffered reads

  1   2   3   4   5   6   7   >