[Ocfs2-devel] [PATCH] ocfs2: Don't duplicate page passes i_size during CoW.

2010-07-12 Thread Tao Ma
During CoW, actually all the pages after i_size contains garbage data, so don't read and duplicate them. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/refcounttree.c | 10 +- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/fs/ocfs2/refcounttree.c

Re: [Ocfs2-devel] [PATCH] ocfs2: Don't duplicate page passes i_size during CoW.

2010-07-12 Thread Joel Becker
On Mon, Jul 12, 2010 at 03:19:48PM +0800, Tao Ma wrote: During CoW, actually all the pages after i_size contains garbage data, so don't read and duplicate them. Signed-off-by: Tao Ma tao...@oracle.com --- fs/ocfs2/refcounttree.c | 10 +- 1 files changed, 9 insertions(+), 1

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Wengang Wang
Hi Dan, I think O2NM_MAX_NAME_LEN is the max valid length of the domain name. Regarding your patch, it changed to be that a domain name with length O2NM_MAX_NAME_LEN (NULL character not included) is not permitted. Though that check seems useless for current calls, we'd better keep it. Checking

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Wengang Wang
Hi Dan, On 10-07-12 15:39, Dan Carpenter wrote: On Mon, Jul 12, 2010 at 07:30:06PM +0800, Wengang Wang wrote: Also, the uuid shouldn't be treated as NULL tailed string. 142 struct ocfs2_control_message_down { 143 chartag[OCFS2_CONTROL_MESSAGE_OP_LEN]; 144 char

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Sunil Mushran
Acked-by: Sunil Mushran sunil.mush...@oracle.com On 07/10/2010 07:33 AM, Dan Carpenter wrote: This function is only called from one place and it's like this: dlm_register_domain(conn-cc_name, dlm_key,fs_version); The conn-cc_name is 64 characters long. If strlen(conn-cc_name) were

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Sunil Mushran
So o2dlm expects a null terminated domain name. The original patch is good as it adds the check in o2dlm only. For userspace, we allow non-null terminating group (domain) name. That remains unchanged. On 07/12/2010 04:30 AM, Wengang Wang wrote: Hi Dan, I think O2NM_MAX_NAME_LEN is the max

Re: [Ocfs2-devel] [PATCH] ocfs2: Remove the redundant cpu_to_le64.

2010-07-12 Thread Joel Becker
On Thu, Jul 08, 2010 at 11:11:11AM +0800, Tao Ma wrote: In ocfs2_block_group_alloc, we set c_blkno by bg-bg_blkno. But actually bg-bg_blkno is already changed to little endian in ocfs2_block_group_fill. So remove the extra cpu_to_le64. Reported-by: Marcos Matsunaga

Re: [Ocfs2-devel] [PATCH] ocfs2/dlm: don't access beyond bitmap size

2010-07-12 Thread Joel Becker
On Wed, Jun 30, 2010 at 08:23:30PM +0800, Wengang Wang wrote: dlm-recovery_map is defined as unsigned long recovery_map[BITS_TO_LONGS(O2NM_MAX_NODES)]; We should treat O2NM_MAX_NODES as the bit map size in bits. This patches fixes a bit operation that takes O2NM_MAX_NODES + 1 as bitmap

Re: [Ocfs2-devel] [PATCH 1/2 v2] ocfs2: make xattr extension work with new local alloc reservation.

2010-07-12 Thread Joel Becker
On Fri, Jul 09, 2010 at 02:53:11PM +0800, Tao Ma wrote: The old ocfs2_xattr_extent_allocation is too optimistic about the clusters we can get. So actually if the file system is too fragmented, ocfs2_add_clusters_in_btree will return us with EGAIN and we need to allocate clusters once again.

Re: [Ocfs2-devel] [PATCH 2/2 v2] ocfs2: Make xattr reflink work with new local alloc reservation.

2010-07-12 Thread Joel Becker
On Fri, Jul 09, 2010 at 02:53:12PM +0800, Tao Ma wrote: The new reservation code in local alloc has add the limitation that the caller should handle the case that the local alloc doesn't give use enough contiguous clusters. It make the old xattr reflink code broken. So this patch udpate the

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Joel Becker
On Sat, Jul 10, 2010 at 04:33:36PM +0200, Dan Carpenter wrote: This function is only called from one place and it's like this: dlm_register_domain(conn-cc_name, dlm_key, fs_version); The conn-cc_name is 64 characters long. If strlen(conn-cc_name) were equal to O2NM_MAX_NAME_LEN (64)

Re: [Ocfs2-devel] [PATCH V3 3/8] Cleancache: core ops functions and configuration

2010-07-12 Thread Nitin Gupta
On 07/07/2010 02:21 AM, Konrad Rzeszutek Wilk wrote: On Tue, Jun 22, 2010 at 09:26:28AM -0700, Dave Hansen wrote: On Mon, 2010-06-21 at 16:19 -0700, Dan Magenheimer wrote: --- linux-2.6.35-rc2/include/linux/cleancache.h 1969-12-31 17:00:00.0 -0700 +++

Re: [Ocfs2-devel] [PATCH] Cleancache: shim to Xen Transcendent Memory

2010-07-12 Thread Konrad Rzeszutek Wilk
On Thu, Jul 08, 2010 at 09:42:08AM -0700, Dan Magenheimer wrote: Signed-off-by: Dan Magenheimer dan.magenhei...@oracle.com One nitpick: .. + +int tmem_enabled; + +static int __init enable_tmem(char *s) +{ + tmem_enabled = 1; + return 1; +} + +__setup(tmem, enable_tmem);

[Ocfs2-devel] [PATCH 27/36] fs/ocfs2: Remove unnecessary casts of private_data

2010-07-12 Thread Joe Perches
Signed-off-by: Joe Perches j...@perches.com --- fs/ocfs2/dlm/dlmdebug.c |6 +++--- fs/ocfs2/dlmfs/dlmfs.c |3 +-- fs/ocfs2/dlmglue.c |4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/fs/ocfs2/dlm/dlmdebug.c b/fs/ocfs2/dlm/dlmdebug.c index 0cd24cf..5efdd37

Re: [Ocfs2-devel] [PATCH V3 3/8] Cleancache: core ops functions and configuration

2010-07-12 Thread Konrad Rzeszutek Wilk
Can you reference with a link or a git branch the patches that utilize this? And also mention that in the 0/X patch so that folks can reference your cleancache implementation? FYI. I am working on 'zcache' which uses cleancache_ops to provide page cache compression support.

Re: [Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Dan Carpenter
On Mon, Jul 12, 2010 at 07:30:06PM +0800, Wengang Wang wrote: Also, the uuid shouldn't be treated as NULL tailed string. 142 struct ocfs2_control_message_down { 143 chartag[OCFS2_CONTROL_MESSAGE_OP_LEN]; 144 charspace1; 145 charuuid[OCFS2_TEXT_UUID_LEN];

[Ocfs2-devel] [patch] ocfs2: tighten up strlen() checking

2010-07-12 Thread Dan Carpenter
This function is only called from one place and it's like this: dlm_register_domain(conn-cc_name, dlm_key, fs_version); The conn-cc_name is 64 characters long. If strlen(conn-cc_name) were equal to O2NM_MAX_NAME_LEN (64) that would be a bug because strlen() doesn't count the NULL

Re: [Ocfs2-devel] [PATCH V3 3/8] Cleancache: core ops functions and configuration

2010-07-12 Thread Konrad Rzeszutek Wilk
On Tue, Jun 22, 2010 at 09:26:28AM -0700, Dave Hansen wrote: On Mon, 2010-06-21 at 16:19 -0700, Dan Magenheimer wrote: --- linux-2.6.35-rc2/include/linux/cleancache.h 1969-12-31 17:00:00.0 -0700 +++ linux-2.6.35-rc2-cleancache/include/linux/cleancache.h 2010-06-21

Re: [Ocfs2-devel] [PATCH V3 0/8] Cleancache: overview

2010-07-12 Thread Konrad Rzeszutek Wilk
On Mon, Jun 21, 2010 at 04:18:09PM -0700, Dan Magenheimer wrote: [PATCH V3 0/8] Cleancache: overview Dan, Two comments: - Mention where one can get the implementor of the cleancache API. Either a link to where the patches reside or a git branch. If you need pointers on branch names:

[Ocfs2-devel] [PATCH] Cleancache: shim to Xen Transcendent Memory

2010-07-12 Thread Dan Magenheimer
[PATCH] Cleancache: shim to Xen Transcendent Memory This companion patch to the cleancache V3 patchset (see http://lkml.org/lkml/2010/6/21/411) provides one consumer for the proposed cleancache internal kernel API. This user is Xen Transcendent Memory (tmem), supported in Xen 4.0+. (A second

Re: [Ocfs2-devel] [PATCH 1/1] ocfs2 fix o2dlm dlm run purgelist(bug 9094491) - rev3

2010-07-12 Thread Srinivas Eeda
Joel Becker wrote: On Tue, Jun 22, 2010 at 10:48:28PM -0700, Srinivas Eeda wrote: +if (!__dlm_lockres_unused) { +mlog(ML_ERROR, found lockres %s:%.*s: in use after deref\n, + dlm-name, res-lockname.len, res-lockname.name); +

[Ocfs2-devel] [PATCH 1/1] ocfs2 fix o2dlm dlm run purgelist(bug 9094491) - rev3

2010-07-12 Thread Srinivas Eeda
There are two problems in dlm_run_purgelist 1. If a lockres is found to be in use, dlm_run_purgelist keeps trying to purge the same lockres instead of trying the next lockres. 2. When a lockres is found unused, dlm_run_purgelist releases lockres spinlock before setting DLM_LOCK_RES_DROPPING_REF

Re: [Ocfs2-devel] [PATCH 27/36] fs/ocfs2: Remove unnecessary casts of private_data

2010-07-12 Thread Joel Becker
On Mon, Jul 12, 2010 at 01:50:19PM -0700, Joe Perches wrote: Signed-off-by: Joe Perches j...@perches.com --- fs/ocfs2/dlm/dlmdebug.c |6 +++--- fs/ocfs2/dlmfs/dlmfs.c |3 +-- fs/ocfs2/dlmglue.c |4 ++-- 3 files changed, 6 insertions(+), 7 deletions(-) Acked-by: Joel

Re: [Ocfs2-devel] [PATCH 1/1] ocfs2 fix o2dlm dlm run purgelist(bug 9094491) - rev3

2010-07-12 Thread Joel Becker
On Mon, Jul 12, 2010 at 03:16:28PM -0700, Srinivas Eeda wrote: There are two problems in dlm_run_purgelist 1. If a lockres is found to be in use, dlm_run_purgelist keeps trying to purge the same lockres instead of trying the next lockres. 2. When a lockres is found unused,

Re: [Ocfs2-devel] [PATCH 0/3] ocfs2: Tail zeroing fixes.

2010-07-12 Thread Joel Becker
On Wed, Jul 07, 2010 at 04:16:04AM -0700, Joel Becker wrote: This is version 3 of the ocfs2 tail zeroing fixes. This version has some major changes. Tao correctly pointed out that we can have multiple extents past i_size due to unwritten extents. I've reworked the zeroing code to walk

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

2010-07-12 Thread Andreas Dilger
On 2010-07-11, at 11:04, Patrick J. LoPresti wrote: +/* Check to make sure entire volume is addressable on this system. + Requires osb_clusters_at_boot to be valid and for the journal to + have been initialized by ocfs2_journal_init(). */ +static int ocfs2_check_addressable(struct

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

2010-07-12 Thread Patrick J. LoPresti
On Mon, Jul 12, 2010 at 5:21 PM, Andreas Dilger adil...@dilger.ca wrote: On 2010-07-11, at 11:04, Patrick J. LoPresti wrote: +     /* Absolute addressability check (borrowed from ext4/super.c) */ +     if ((max_block +          (sector_t)(~0LL) (osb-sb-s_blocksize_bits - 9)) || +        

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

2010-07-12 Thread Patrick J. LoPresti
On Mon, Jul 12, 2010 at 6:25 PM, Dave Chinner da...@fromorbit.com wrote: The XFS code is different to the above because there is still a 16TB size limit on 32 bit systemsi (i.e. page cache address limits). IOWs, you can't just remove the above 16TB check unless you (i.e. OCFS2) handle 16TB

[Ocfs2-devel] [PATCH v2] ocfs2: Don't duplicate page passes i_size during CoW.

2010-07-12 Thread Tao Ma
Hi Joel, @@ -2932,12 +2932,20 @@ static int ocfs2_duplicate_clusters_by_page(handle_t *handle, offset = ((loff_t)cpos) OCFS2_SB(sb)-s_clustersize_bits; end = offset + (new_len OCFS2_SB(sb)-s_clustersize_bits); +last_page = i_size_read(context-inode) PAGE_CACHE_SHIFT;

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

2010-07-12 Thread Andreas Dilger
On 2010-07-12, at 19:08, Patrick J. LoPresti wrote: On Mon, Jul 12, 2010 at 5:21 PM, Andreas Dilger adil...@dilger.ca wrote: On 2010-07-11, at 11:04, Patrick J. LoPresti wrote: + /* Absolute addressability check (borrowed from ext4/super.c) */ + if ((max_block +

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

2010-07-12 Thread Patrick J. LoPresti
On Mon, Jul 12, 2010 at 9:46 PM, Andreas Dilger adil...@dilger.ca wrote: On 2010-07-12, at 19:08, Patrick J. LoPresti wrote: Are you suggesting I need to do this before my patch is accepted at all?  Or is this a refactoring that can happen later? I'm just suggesting it should be done at some