[Cluster-devel] [PATCH 17/29] GFS2: Move recovery variables to journal structure in memory

2014-04-01 Thread Steven Whitehouse
s the necessary variables so that each journal has its own separate area for tracking its journal replay. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 456d8fa..ef26ed9 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -

[Cluster-devel] [PATCH 11/29] fs: NULL dereference in posix_acl_to_xattr()

2014-04-01 Thread Steven Whitehouse
From: Dan Carpenter This patch moves the dereference of "buffer" after the check for NULL. The only place which passes a NULL parameter is gfs2_set_acl(). Cc: stable Signed-off-by: Dan Carpenter Signed-off-by: Steven Whitehouse diff --git a/fs/posix_acl.c b/fs/posix_acl.c ind

[Cluster-devel] [PATCH 20/29] GFS2: Convert gfs2_lm_withdraw to use fs_err

2014-04-01 Thread Steven Whitehouse
From: Joe Perches vprintk use is not prefixed by a KERN_, so emit these messages at KERN_ERR level. Using %pV can save some code and allow fs_err to be used, so do it. Signed-off-by: Joe Perches Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c index 256354c

[Cluster-devel] [PATCH 16/29] GFS2: global conversion to pr_foo()

2014-04-01 Thread Steven Whitehouse
From: Fabian Frederick -All printk(KERN_foo converted to pr_foo(). -Messages updated to fit in 80 columns. -fs_macros converted as well. -fs_printk removed. Signed-off-by: Fabian Frederick Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index ffcfdd1..39c7081

[Cluster-devel] [PATCH 23/29] GFS2: Re-add a call to log_flush_wait when flushing the journal

2014-04-01 Thread Steven Whitehouse
, which itself leads to infinite loops in journal replay, both in the kernel code and fsck.gfs2 code. This patch re-adds that call. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index edbd461..4a14d50 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2

[Cluster-devel] [PATCH 18/29] GFS2: Use pr_ more consistently

2014-04-01 Thread Steven Whitehouse
From: Joe Perches Add pr_fmt, remove embedded "GFS2: " prefixes. This now consistently emits lower case "gfs2: " for each message. Other miscellanea around these changes: o Add missing newlines o Coalesce formats o Realign arguments Signed-off-by: Joe Perches Signed-off-b

[Cluster-devel] [PATCH 15/29] GFS2: return -E2BIG if hit the maximum limits of ACLs

2014-04-01 Thread Steven Whitehouse
Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c index ba94566..9c59ebe 100644 --- a/fs/gfs2/acl.c +++ b/fs/gfs2/acl.c @@ -86,7 +86,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type) BUG_ON(name == NULL); if (acl->a_co

[Cluster-devel] [PATCH 26/29] GFS2: inline function gfs2_set_mode

2014-04-01 Thread Steven Whitehouse
From: Bob Peterson Here is a revised patch based on Steve's feedback: This patch eliminates function gfs2_set_mode which was only called in one place, and always returned 0. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c index 39

[Cluster-devel] [PATCH 25/29] GFS2: Remove extraneous function gfs2_security_init

2014-04-01 Thread Steven Whitehouse
From: Bob Peterson This patch eliminates function gfs2_security_init in favor of just calling security_inode_init_security directly. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index b52ebf8..69ed57a 100644 --- a/fs/gfs2/inode.c

[Cluster-devel] [PATCH 06/29] GFS2: Mark functions as static in gfs2/rgrp.c

2014-04-01 Thread Steven Whitehouse
previous prototype for ‘update_rgrp_lvb’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria Reviewed-by: Josh Triplett Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index c13e4c5..f585746 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1102,7 +1102,7

[Cluster-devel] [PATCH 14/29] GFS2: Clean up journal extent mapping

2014-04-01 Thread Steven Whitehouse
also updated to show more detail about what went wrong. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c index fe0500c..c62d4b9 100644 --- a/fs/gfs2/bmap.c +++ b/fs/gfs2/bmap.c @@ -1328,6 +1328,121 @@ int gfs2_file_dealloc(struct gfs2_inode *ip

[Cluster-devel] [PATCH 04/29] GFS2: Lock i_mutex and use a local gfs2_holder for fallocate

2014-04-01 Thread Steven Whitehouse
From: Bob Peterson This patch causes GFS2 to lock the i_mutex during fallocate. It also switches from using a dinode's inode glock to using a local holder like the other GFS2 i_operations. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/file.c b/fs

[Cluster-devel] [PATCH 12/29] GFS2: Remove extra "if" in gfs2_log_flush()

2014-04-01 Thread Steven Whitehouse
By reordering some of the assignments in gfs2_log_flush() it is possible to remove one of the "if" statements as it can be merged with one higher up the function. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index c1c9a29..edbd461 100644 --- a/fs/gfs2/l

[Cluster-devel] [PATCH 19/29] GFS2: Use fs_ more often

2014-04-01 Thread Steven Whitehouse
From: Joe Perches Convert a couple of uses of pr_ to fs_ Add and use fs_emerg. Signed-off-by: Joe Perches Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 73ed925..27f9435 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c @@ -1083,8 +1083,8 @@ static int

[Cluster-devel] [PATCH 03/29] GFS2: journal data writepages update

2014-04-01 Thread Steven Whitehouse
problem in the past in the writeback code path, which is why I've hesitated to do it here. Signed-off-by: Steven Whitehouse diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index e0259a1..82a1456 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -94,6 +94,8 @@ static inline struct

[Cluster-devel] [PATCH 24/29] GFS2: Increase the max number of ACLs

2014-04-01 Thread Steven Whitehouse
-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c index 9c59ebe..394dc55 100644 --- a/fs/gfs2/acl.c +++ b/fs/gfs2/acl.c @@ -85,7 +85,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type) BUG_ON(name == NULL); - if

[Cluster-devel] [PATCH 27/29] GFS2: Fix return value in slot_get()

2014-04-01 Thread Steven Whitehouse
From: Abhi Das ENOSPC was being returned in slot_get inspite of successful execution of the function. This patch fixes this return code. Signed-off-by: Abhi Das Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 27f9435..c4e 100644 --- a/fs/gfs2/quota.c

[Cluster-devel] [PATCH 21/29] GFS2: check NULL return value in gfs2_ok_to_move

2014-04-01 Thread Steven Whitehouse
From: Abhi Das gfs2_lookupi() can return NULL if the path to the root is broken by another rename/rmdir. In this case gfs2_ok_to_move() must check for this NULL pointer and return error. Resolves: rhbz#1060246 Signed-off-by: Abhi Das Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2

[Cluster-devel] GFS2: Pre-pull patch posting (merge window)

2014-04-01 Thread Steven Whitehouse
Hi, Here is the current content of the GFS2 -nmw tree for the current merge window. One of the main highlights this time, is not the patches themselves but instead the widening contributor base. It is good to see that interest is increasing in GFS2, and I'd like to thank all the contributors to t

[Cluster-devel] [PATCH 05/29] GFS2: Add meta readahead field in directory entries

2014-04-01 Thread Steven Whitehouse
add the readahead in due course. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index fa32655..ffcfdd1 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -1684,6 +1684,14 @@ static int dir_new_leaf(struct inode *inode, const struct qstr *name) return 0

[Cluster-devel] [PATCH 09/29] GFS2: Move log buffer lists into transaction

2014-04-01 Thread Steven Whitehouse
buffer lists are merged into the currently accumulating transaction. That transaction then is passed into the before and after commit functions at journal flush time. Thus there should be no change in overall behaviour yet. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glops.c b/fs/gfs2

[Cluster-devel] [PATCH 22/29] GFS2: Ensure workqueue is scheduled after noexp request

2014-04-01 Thread Steven Whitehouse
glock state machine to finish the transition. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 52f7478..aec7f73 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1047,9 +1047,13 @@ int gfs2_glock_nq(struct gfs2_holde

[Cluster-devel] [PATCH 08/29] GFS2: Reduce struct gfs2_trans in size

2014-04-01 Thread Steven Whitehouse
A couple of "int" fields were being used as boolean values so we can make them bitfields of one bit, and put them in what might otherwise be a hole in the structure with 64 bit alignment. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index cf0e34

[Cluster-devel] [PATCH 02/29] GFS2: Allocate block for xattr at inode alloc time, if required

2014-04-01 Thread Steven Whitehouse
he most common cases. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 5c52418..ec455b9 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -376,12 +376,11 @@ static void munge_mode_uid_gid(const struct gfs2_inode *dip, inode-&g

[Cluster-devel] [PATCH 10/29] GFS2: Move log buffer accounting to transaction

2014-04-01 Thread Steven Whitehouse
easier understand. Also, by reducing the number of variables used to track the buffers being added and removed from the journal, a number of error checks are now no longer required. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 99aab64..d0c3928 100644 --- a

[Cluster-devel] [PATCH 07/29] GFS2: add missing newline

2014-04-01 Thread Steven Whitehouse
From: David Teigland Log message is missing newline. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c index 2a6ba06..6b97d98 100644 --- a/fs/gfs2/lock_dlm.c +++ b/fs/gfs2/lock_dlm.c @@ -1102,7 +1102,7 @@ static void

[Cluster-devel] [PATCH 01/29] GFS2: Plug on AIL flush

2014-04-01 Thread Steven Whitehouse
rable improvement. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 9dcb977..1e1bda0 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs

[Cluster-devel] GFS2: Fix address space from page function

2014-03-31 Thread Steven Whitehouse
Now that rgrps use the address space which is part of the super block, we need to update gfs2_mapping2sbd() to take account of that. The only way to do that easily is to use a different set of address_space_operations for rgrps. Reported-by: Abhi Das Tested-by: Abhi Das Signed-off-by: Steven

Re: [Cluster-devel] [GFS2 PATCH] gfs2: Fix return value in slot_get()

2014-03-31 Thread Steven Whitehouse
Hi, On Mon, 2014-03-31 at 01:19 -0500, Abhi Das wrote: > ENOSPC was being returned in slot_get inspite of successful > execution of the function. This patch fixes this return > code. > > Signed-off-by: Abhi Das > --- > fs/gfs2/quota.c | 1 + > 1 file changed, 1 insertion(+) > Now in the -nmw g

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Prevent recovery before the local journal is set

2014-03-26 Thread Steven Whitehouse
Hi, On Tue, 2014-03-25 at 11:54 -0400, Bob Peterson wrote: > Hi, > > This patch repurposes the (formerly useless) sd_jindex_mutex lock to > prevent dlm's recover process from referencing and trying to recover a > journal before a journal has been opened. > > Regards, > > Bob Peterson > Red Hat

Re: [Cluster-devel] [RHEL5 gfs-kmod patch] GFS: Write vfs inode attributes to disk in gfs_inode_write

2014-03-26 Thread Steven Whitehouse
Hi, On Tue, 2014-03-25 at 15:32 -0500, Benjamin Marzinski wrote: > GFS wasn't ever updating mtime during mmaps to a file. This patch makes > gfs_write_inode write the vfs inode attributes out to disk, so that they > get updated when the mmap data is written back to disk. > > Signed-off-by: Benja

Re: [Cluster-devel] [GFS2 PATCH] [TRY #2] GFS2: inline function gfs2_set_mode

2014-03-19 Thread Steven Whitehouse
Hi, On Wed, 2014-03-19 at 11:51 -0400, Bob Peterson wrote: > Hi, > > Here is a revised patch based on Steve's feedback: > > This patch eliminates function gfs2_set_mode which was only called in > one place, and always returned 0. > Now in the -nmw tree. Thanks, Steve. > Regards, > > Bob Peter

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Remove extraneous function gfs2_security_init

2014-03-19 Thread Steven Whitehouse
Hi, Both patches now in the -nmw tree. Thanks, Steve. On Wed, 2014-03-19 at 09:37 -0400, Bob Peterson wrote: > Hi, > > This patch eliminates function gfs2_security_init in favor of just > calling security_inode_init_security directly. > > Regards, > > Bob Peterson > Red Hat File Systems > >

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Eliminate always-0 return from gfs2_set_mode

2014-03-19 Thread Steven Whitehouse
Hi, Yes, I think we might as well just merge it in, if there is only one caller, Steve. On Wed, 2014-03-19 at 11:31 -0400, Bob Peterson wrote: > Hi, > > This patch eliminates a return code from function gfs2_set_mode that > was always 0. We could also just eliminate the function altogether > be

Re: [Cluster-devel] [PATCH] fs: push sync_filesystem() down to the file system's remount_fs()

2014-03-13 Thread Steven Whitehouse
Hi, On Thu, 2014-03-13 at 17:23 +0100, Jan Kara wrote: > On Thu 13-03-14 10:20:56, Ted Tso wrote: > > Previously, the no-op "mount -o mount /dev/xxx" operation when the > ^^remount > > > file system is already mounted read-write causes an implied, > > uncondition

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Adjust lock reference count

2014-03-12 Thread Steven Whitehouse
Hi, On Wed, 2014-03-12 at 10:32 -0400, Bob Peterson wrote: > Hi, > > This patch closes a small timing window whereby a request to hold the > transaction glock can get stuck. The problem is that after the DLM has > granted the lock, it can get into a state whereby it doesn't transition > the glock

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Re-add a call to log_flush_wait when flushing the journal

2014-03-12 Thread Steven Whitehouse
Hi, On Wed, 2014-03-12 at 10:34 -0400, Bob Peterson wrote: > Hi, > > Upstream commit 34cc178 changed a line of code from calling function > log_flush_commit to calling log_write_header. This had the effect of > eliminating a call to function log_flush_wait. That causes the journal > to skip over

Re: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move

2014-03-12 Thread Steven Whitehouse
the new test just aborts the rename without doing anything in that one particular case, Steve. > - Original Message - > > From: "Steven Whitehouse" > > To: "Abhi Das" > > Cc: cluster-devel@redhat.com > > Sent: Wednesday, March 12, 2014 5:03

Re: [Cluster-devel] [GFS2 PATCH] GFS2: check NULL return value in gfs2_ok_to_move

2014-03-12 Thread Steven Whitehouse
Hi, On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote: > gfs2_lookupi() can return NULL if the path to the root is broken by > another rename/rmdir. In this case gfs2_ok_to_move() must check for > this NULL pointer and return error. > > Resolves: rhbz#1060246 > Signed-off-by: Abhi Das Thanks fo

Re: [Cluster-devel] [PATCH 0/3] gfs: More logging neatening

2014-03-07 Thread Steven Whitehouse
Hi, On Thu, 2014-03-06 at 12:10 -0800, Joe Perches wrote: > Joe Perches (3): > gfs2: Use pr_ more consistently > gfs2: Use fs_ more often > gfs2: Convert gfs2_lm_withdraw to use fs_err > > fs/gfs2/dir.c| 14 > fs/gfs2/glock.c | 8 +++-- > fs/gfs2/lock_dlm.c | 9 ++

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Move recovery variables to journal structure in memory

2014-03-07 Thread Steven Whitehouse
Hi, On Thu, 2014-03-06 at 17:19 -0500, Bob Peterson wrote: > Hi, > > If multiple nodes fail and their recovery work runs simultaneously, they > would use the same unprotected variables in the superblock. For example, > they would stomp on each other's revoked blocks lists, which resulted > in fil

Re: [Cluster-devel] [PATCH] GFS2: return -E2BIG if hit the maximum limits of ACLs

2014-03-06 Thread Steven Whitehouse
Hi, Now in the -nmw tree. Thanks, Steve. On Tue, 2014-03-04 at 11:28 +0800, Jeff Liu wrote: > From: Jie Liu > > Return -E2BIG rather than -EINVAL if hit the maximum size limits of > ACLs, as the former errno is consistent with VFS xattr syscalls. > > This is pointed out by Dave Chinner in pre

Re: [Cluster-devel] GFS2: Clean up journal extent mapping

2014-03-06 Thread Steven Whitehouse
Hi, On Thu, 2014-03-06 at 08:46 -0500, Bob Peterson wrote: > - Original Message - > | +int gfs2_map_journal_extents(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd) > | +{ > | + u64 lblock = 0; > | + u64 lblock_stop; > | + struct gfs2_inode *ip = GFS2_I(jd->jd_inode); > | + struct buff

[Cluster-devel] GFS2: Clean up journal extent mapping

2014-03-06 Thread Steven Whitehouse
>From b50f227bddf110ae4ea2df1ebdf7e282ad481803 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Mon, 3 Mar 2014 13:35:57 + Subject: GFS2: Clean up journal extent mapping This patch fixes a long standing issue in mapping the journal extents. Most journals will consist of only a sin

[Cluster-devel] GFS2: Remove extra "if" in gfs2_log_flush()

2014-02-25 Thread Steven Whitehouse
>From b1ab1e44b4fa3df97a25cc9bcc3c99244ad6945b Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 25 Feb 2014 11:52:20 + Subject: GFS2: Remove extra "if" in gfs2_log_flush() By reordering some of the assignments in gfs2_log_flush() it is possible to remove one of the &q

Re: [Cluster-devel] [patch] fs: NULL dereference in posix_acl_to_xattr()

2014-02-25 Thread Steven Whitehouse
Hi, On Fri, 2014-02-14 at 12:05 +0300, Dan Carpenter wrote: > This patch moves the dereference of "buffer" after the check for NULL. > The only place which passes a NULL parameter is gfs2_set_acl(). > > Cc: stable > Signed-off-by: Dan Carpenter > I've not heard anything from Al, so at least f

[Cluster-devel] GFS2: Move log buffer accounting to transaction

2014-02-24 Thread Steven Whitehouse
>From 928b2a81bde301e52f9dba2cae56e7b99ded07df Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Fri, 21 Feb 2014 21:55:33 + Subject: GFS2: Move log buffer accounting to transaction Now we have a master transaction into which other transactions are merged, the accounting can be d

[Cluster-devel] GFS2: Move log buffer lists into transaction

2014-02-24 Thread Steven Whitehouse
ings a bit cleaner ahead of doing that, Steve. >From d69a3c6561362a53d1be908ca343d899161d602c Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Fri, 21 Feb 2014 15:22:35 + Subject: GFS2: Move log buffer lists into transaction Over time, we hope to be able to improve the concurrency ava

[Cluster-devel] GFS2: Reduce struct gfs2_trans in size

2014-02-21 Thread Steven Whitehouse
>From 654a6d2f962edb7bf85973cfe93a04e24f56f902 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Fri, 21 Feb 2014 11:52:00 + Subject: GFS2: Reduce struct gfs2_trans in size A couple of "int" fields were being used as boolean values so we can make them bitfields of one bit,

Re: [Cluster-devel] [PATCH 3/4] libgfs2: Add support for new leaf hint fields

2014-02-18 Thread Steven Whitehouse
Hi, On Mon, 2014-02-17 at 14:47 +, Andrew Price wrote: > Kernel commit 01bcb0de introduces new gfs2_leaf fields. This patch adds > support for those fields to libgfs2, conditional upon them being > discovered in the configure stage. Includes meta.c changes by Steve > Whitehouse. > > Signed-of

Re: [Cluster-devel] [patch] fs: NULL dereference in posix_acl_to_xattr()

2014-02-17 Thread Steven Whitehouse
Hi, On Fri, 2014-02-14 at 12:05 +0300, Dan Carpenter wrote: > This patch moves the dereference of "buffer" after the check for NULL. > The only place which passes a NULL parameter is gfs2_set_acl(). > > Cc: stable > Signed-off-by: Dan Carpenter > Al, are you going to take this, or should I pu

Re: [Cluster-devel] [PATCH 10/21] fs: Mark functions as static in gfs2/rgrp.c

2014-02-10 Thread Steven Whitehouse
Hi, On Sun, 2014-02-09 at 18:40 +0530, Rashika Kheria wrote: > Mark functions as static in gfs2/rgrp.c because they are not used > outside this file. > > This eliminates the following warning in gfs2/rgrp.c: > fs/gfs2/rgrp.c:1092:5: warning: no previous prototype for ‘gfs2_rgrp_bh_get’ > [-Wmiss

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Lock i_mutex and use a local gfs2_holder for fallocate

2014-02-06 Thread Steven Whitehouse
Hi, Now in the -nmw git tree. Thanks, Steve. On Thu, 2014-02-06 at 10:43 -0500, Bob Peterson wrote: > Hi, > > This patch causes GFS2 to lock the i_mutex during fallocate. It > also switches from using a dinode's inode glock to using a local > holder like the other GFS2 i_operations. > > Regard

[Cluster-devel] GFS2: journal data writepages update

2014-02-05 Thread Steven Whitehouse
problem in the past in the writeback code path, which is why I've hesitated to do it here. Signed-off-by: Steven Whitehouse diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index e0259a1..82a1456 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -94,6 +94,8 @@ static inline struct

[Cluster-devel] GFS2: Allocate block for xattr at inode alloc time, if required

2014-02-04 Thread Steven Whitehouse
he most common cases. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 5c52418..ec455b9 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -376,12 +376,11 @@ static void munge_mode_uid_gid(const struct gfs2_inode *dip, inode-&g

Re: [Cluster-devel] [PATCH RHEL6] libgfs2: Fix up remove_mtab_entry

2014-02-04 Thread Steven Whitehouse
Hi, Looks good to me, Steve. On Tue, 2014-02-04 at 12:25 +, Andrew Price wrote: > mkstemp was creating the temporary mtab file with overly tight > permissions causing /etc/mtab to end up with an 0600 mode instead of the > regular 0644. This patch resets the mode to 0644 by calling fchmod on

Re: [Cluster-devel] [PATCH 1/2] gfs2_edit: Convert fssize to bytes before reporting fs size

2014-02-03 Thread Steven Whitehouse
Hi, Both patches look good to me, Steve. On Mon, 2014-02-03 at 14:25 +, Andrew Price wrote: > gfs2_edit savemeta wasn't converting sbd.fssize to bytes before converting it > to a human-friendly number. This patch adds that multiplier along with a > sanity > test for savemeta/restoremeta. >

[Cluster-devel] GFS2 git tree

2014-02-03 Thread Steven Whitehouse
Hi, With the merge window now closed, I've updated the GFS2 -nmw git tree, which now contains just one small patch, Steve.

Re: [Cluster-devel] [RFC] gfs2: Add sb and rgrp fields to aid fsck and grow

2014-01-29 Thread Steven Whitehouse
Hi, On Wed, 2014-01-29 at 14:47 +, Andrew Price wrote: > This adds some fields to the superblock and resource group header > structures that we can use in rg size and address discovery in gfs2_grow > and fsck.gfs2. They are not intended to be changed after mkfs time. > > sb_rgsize is the base

[Cluster-devel] GFS2: Plug on AIL flush

2014-01-29 Thread Steven Whitehouse
rable improvement. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index 9dcb977..1e1bda0 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs

Re: [Cluster-devel] [PATCH 1/8] libgfs2: Remove sdp argument from compute_heightsize

2014-01-27 Thread Steven Whitehouse
Hi, On Mon, 2014-01-27 at 15:03 +, Andrew Price wrote: > On 27/01/14 14:47, Steven Whitehouse wrote: > > Hi, > > > > These look like a step in the right direction - however patch 5 seems to > > be missing in the set that I received, > > Hm strange, I didn&#

Re: [Cluster-devel] [PATCH 1/8] libgfs2: Remove sdp argument from compute_heightsize

2014-01-27 Thread Steven Whitehouse
Hi, These look like a step in the right direction - however patch 5 seems to be missing in the set that I received, Steve. On Mon, 2014-01-27 at 14:17 +, Andrew Price wrote: > compute_heightsize only uses the bsize member of sdp so just accept a > bsize argument instead. > > Signed-off-by:

Re: [Cluster-devel] [PATCH 17/24] GFS2: Use RCU/hlist_bl based hash for quotas

2014-01-22 Thread Steven Whitehouse
Hi, On Tue, 2014-01-21 at 21:32 -0800, Paul E. McKenney wrote: > On Mon, Jan 20, 2014 at 12:23:40PM +0000, Steven Whitehouse wrote: > > Prior to this patch, GFS2 kept all the quotas for each > > super block in a single linked list. This is rather slow > > when there are la

Re: [Cluster-devel] [PATCH 17/24] GFS2: Use RCU/hlist_bl based hash for quotas

2014-01-22 Thread Steven Whitehouse
Hi, On Wed, 2014-01-22 at 01:06 -0500, Sasha Levin wrote: > On 01/22/2014 12:32 AM, Paul E. McKenney wrote: > > On Mon, Jan 20, 2014 at 12:23:40PM +0000, Steven Whitehouse wrote: > >> >Prior to this patch, GFS2 kept all the quotas for each > >> >super block in a s

[Cluster-devel] GFS2: Pull request (merge window)

2014-01-20 Thread Steven Whitehouse
grp GFS2: Drop inadequate rgrps from the reservation tree GFS2: Implement a "rgrp has no extents longer than X" scheme GFS2: Increase i_writecount during gfs2_setattr_chown GFS2: Small cleanup J. Bruce Fields (1): GFS2: revert "GFS2: d_splice_alias() can

[Cluster-devel] GFS2: Pre-pull patch posting (merge window)

2014-01-20 Thread Steven Whitehouse
Hi, Here are the pending patches for the merge window which are currently in the GFS2 tree. The main topics this time are allocation, in the form of Bob's improvements when searching resource groups and several updates to quotas which should increase scalability. The quota changes follow on from

[Cluster-devel] [PATCH 12/24] GFS2: Increase i_writecount during gfs2_setattr_chown

2014-01-20 Thread Steven Whitehouse
also ensures that a multi-block reservation exists when needed for quota change operations during the chown. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 4acc584..51cf10d 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.

[Cluster-devel] [PATCH 07/24] GFS2: Use range based functions for rgrp sync/invalidation

2014-01-20 Thread Steven Whitehouse
extent information in the glock so that is is available for a final invalidation. This patch uses a field which is otherwise unused in rgrp glocks to do that, so that we do not have to expand the size of a glock. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index

[Cluster-devel] [PATCH 24/24] GFS2: revert "GFS2: d_splice_alias() can't return error"

2014-01-20 Thread Steven Whitehouse
imum it should be able to return -ELOOP in the case where inserting the given dentry would cause a directory loop. Signed-off-by: J. Bruce Fields Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index b8956f2..890588c 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2

[Cluster-devel] [PATCH 15/24] GFS2: Add initialization for address space in super block

2014-01-20 Thread Steven Whitehouse
Spotted by Andy Price. This should fix the odd messages from lockdep caused by 70d4ee94b370c5ef54d0870600f16bd92d18013c Signed-off-by: Steven Whitehouse Cc: Andrew Price diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 94aab31..3b820b6 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs

[Cluster-devel] [PATCH 19/24] GFS2: Clean up quota slot allocation

2014-01-20 Thread Steven Whitehouse
vmalloc fallback, just in case of memory fragmentation. We are then able to use the kernel's own find/test/set/clear bit functions, rather than rolling our own. Signed-off-by: Steven Whitehouse Cc: Abhijith Das diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 59d99ec..4b9aa5b 1

[Cluster-devel] [PATCH 04/24] GFS2: Clean up releasepage

2014-01-20 Thread Steven Whitehouse
its of unreachable code and make this more readable. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 73f3e4e..cf858da 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c @@ -1080,30 +1080,22 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_m

[Cluster-devel] [PATCH 09/24] GFS2: Add directory addition info structure

2014-01-20 Thread Steven Whitehouse
bug where the link used during inode creation was adding requesting too many blocks in some cases. This is harmless unless the fs is close to being full. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 2e5fc26..0b6be20 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2

[Cluster-devel] [PATCH 22/24] GFS2: Don't use ENOBUFS when ENOMEM is the correct error code

2014-01-20 Thread Steven Whitehouse
XSI STREAMS option))" and since > we don't support STREAMS it's probably fair game, but... what the hell? Signed-off-by: Steven Whitehouse Cc: Al Viro diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 6f7a47c..ca0be6c 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c

[Cluster-devel] [PATCH 18/24] GFS2: Only run logd and quota when mounted read/write

2014-01-20 Thread Steven Whitehouse
waits for it to give up its reference on the quotas. Signed-off-by: Steven Whitehouse Cc: Abhijith Das diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 3b820b6..27648e8 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -969,40 +969,6 @@ fail: return error

[Cluster-devel] [PATCH 03/24] GFS2: Implement a "rgrp has no extents longer than X" scheme

2014-01-20 Thread Steven Whitehouse
-block reservations will fail. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index ba1ea67..0132816 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -93,6 +93,7 @@ struct gfs2_rgrpd { struct gfs2_rgrp_lvb *rd_rgl

[Cluster-devel] [PATCH 21/24] GFS2: Fix kbuild test robot reported warning

2014-01-20 Thread Steven Whitehouse
'gfs2_quota_cleanup': >> fs/gfs2/quota.c:1361:4: error: implicit declaration of function 'vfree' >> [-Werror=implicit-function-declaration] vfree(sdp->sd_quota_bitmap); Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c

[Cluster-devel] [PATCH 08/24] GFS2: Use only a single address space for rgrps

2014-01-20 Thread Steven Whitehouse
more complicated operation as it requires changing a lot more code paths. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 1b192c8d..b792dbc 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c @@ -133,7 +133,8 @@ void gfs2_ail_flush(struct gfs2_glock *gl, bool

[Cluster-devel] [PATCH 16/24] GFS2: No need to invalidate pages for a dio read

2014-01-20 Thread Steven Whitehouse
We recently fixed the writeback of pages prior to performing direct i/o, however the initial fix was perhaps a bit heavy handed. There is no need to invalidate pages if the direct i/o is only a read, since they will be identical to what has been flushed to disk anyway. Signed-off-by: Steven

[Cluster-devel] [PATCH 13/24] GFS2: For exhash conversion, only one block is needed

2014-01-20 Thread Steven Whitehouse
request the full reservation size in this case. Potentially we could calculate more accurately the value to use in other cases too, but that is much more complicated to do and it is doubtful that the benefit would outweigh the extra cost in code complexity. Signed-off-by: Steven Whitehouse diff

[Cluster-devel] [PATCH 14/24] GFS2: Add hints to directory leaf blocks

2014-01-20 Thread Steven Whitehouse
r the most recent insertion/deletion. For backwards compatibility, any of these new fields which is zero should be considered to be "unknown". Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index b2e5ebf..fa32655 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/di

[Cluster-devel] [PATCH 05/24] GFS2: Remove gfs2_quota_change_host structure

2014-01-20 Thread Steven Whitehouse
There is only one place this is used, when reading in the quota changes at mount time. It is not really required and much simpler to just convert the fields from the on-disk structure as required. There should be no functional change as a result of this patch. Signed-off-by: Steven Whitehouse

[Cluster-devel] [PATCH 20/24] GFS2: Move quota bitmap operations under their own lock

2014-01-20 Thread Steven Whitehouse
the subject of a later patch, however this patch removes another barrier to doing that. Signed-off-by: Steven Whitehouse Cc: Abhijith Das diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 4b9aa5b..8c64e26 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -734,6 +734,7 @@ struct

[Cluster-devel] [PATCH 17/24] GFS2: Use RCU/hlist_bl based hash for quotas

2014-01-20 Thread Steven Whitehouse
this is no longer used for its original role, it should be possible to shrink the number of items on that list in due course and remove the requirement to take qd_lock in qd_get. Signed-off-by: Steven Whitehouse Cc: Abhijith Das Cc: Paul E. McKenney diff --git a/fs/gfs2/incore.h b/fs/gfs2

[Cluster-devel] [PATCH 23/24] GFS2: Small cleanup

2014-01-20 Thread Steven Whitehouse
From: Bob Peterson This is a small cleanup to function gfs2_rgrp_go_lock so that it uses rgd instead of its more complicated twin. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index e14e887..a1da213 100644 --- a/fs/gfs2/rgrp.c

[Cluster-devel] [PATCH 10/24] GFS2: Consolidate transaction blocks calculation for dir add

2014-01-20 Thread Steven Whitehouse
single function rather than repeating it three times. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 9ac8f13..fa4624f 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -469,6 +469,28 @@ static void init_dinode(struct gfs2_inode *dip, struct gfs2_inode *ip

[Cluster-devel] [PATCH 02/24] GFS2: Drop inadequate rgrps from the reservation tree

2014-01-20 Thread Steven Whitehouse
to after label skip_rgrp so that the disqualified reservation is properly removed from the tree, thus keeping the rgrp rd_reserved count sane. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 809fecd..1ccf89a 100644 --- a/fs/gfs2/

[Cluster-devel] [PATCH 11/24] GFS2: Remember directory insert point

2014-01-20 Thread Steven Whitehouse
provide a performance improvement which will be greater as the size of the directory increases. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 0b6be20..d5988aa 100644 --- a/fs/gfs2/dir.c +++ b/fs/gfs2/dir.c @@ -1659,26 +1659,34 @@ static int dir_new_leaf(struct

[Cluster-devel] [PATCH 06/24] GFS2: Remove test which is always true

2014-01-20 Thread Steven Whitehouse
Since gfs2_inplace_reserve() is always called with a valid alloc parms structure, there is no need to test for this within the function itself - and in any case, after we've all ready dereferenced it anyway. Reported-by: Dan Carpenter Signed-off-by: Steven Whitehouse diff --git a/fs

[Cluster-devel] [PATCH 01/24] GFS2: If requested is too large, use the largest extent in the rgrp

2014-01-20 Thread Steven Whitehouse
akes it so that if we can't find a contiguous chunk of blocks big enough to satisfy the sizehint, we'll use the largest chunk of blocks we found that will still contain the write. It does so by keeping track of the largest run of blocks within the rgrp. Signed-off-by: Bob Peterson S

[Cluster-devel] GFS2: Don't use ENOBUFS when ENOMEM is the correct error code

2014-01-16 Thread Steven Whitehouse
>From ac3beb6a5de048e7c0676f630ad2048a7b37b305 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Thu, 16 Jan 2014 10:31:13 + Subject: GFS2: Don't use ENOBUFS when ENOMEM is the correct error code Al Viro has tactfully pointed out that we are using the incorrect error code in so

[Cluster-devel] GFS2: Fix kbuild test robot reported warning

2014-01-15 Thread Steven Whitehouse
>From 1e3d36206bd6dfa34c85b073faba3d94ee6aba79 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Wed, 15 Jan 2014 12:57:25 + Subject: GFS2: Fix kbuild test robot reported warning Well I don't get the same warning locally as the kbuild robot, but I guess this should fix the

[Cluster-devel] GFS2: No need to invalidate pages for a dio read

2014-01-14 Thread Steven Whitehouse
>From 086352f1aa8d717eaf565074d6634c7bdd26aca0 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 14 Jan 2014 13:46:51 + Subject: GFS2: No need to invalidate pages for a dio read We recently fixed the writeback of pages prior to performing direct i/o, however the initial fix

[Cluster-devel] GFS2: Add initialization for address space in super block

2014-01-09 Thread Steven Whitehouse
>From 39849d6946a84861a517c09ca0b691ce6d98c7a6 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Thu, 9 Jan 2014 16:34:04 + Subject: GFS2: Add initialization for address space in super block Spotted by Andy Price. This should fix the odd messages from lockdep caused

Re: [Cluster-devel] Curious lockdep report

2014-01-09 Thread Steven Whitehouse
Hi, On Thu, 2014-01-09 at 11:43 +, Steven Whitehouse wrote: > Hi, > > I'm trying to track down the cause of the lockdep report which I've > included below. It is a bit odd since it doesn't say which lock it > refers to, although my suspicions are that it is

[Cluster-devel] Curious lockdep report

2014-01-09 Thread Steven Whitehouse
Hi, I'm trying to track down the cause of the lockdep report which I've included below. It is a bit odd since it doesn't say which lock it refers to, although my suspicions are that it is the mapping's tree_lock. The other thing I know is that it goes away if I revert this patch: https://git.kern

[Cluster-devel] GFS2: For exhash conversion, only one block is needed

2014-01-08 Thread Steven Whitehouse
>From 22b5a6c0c0cd5eb524d31c949d113c6683e37ec9 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Wed, 8 Jan 2014 11:05:29 + Subject: GFS2: For exhash conversion, only one block is needed For most cases, only a single new block is needed when we reach the point of converting from stuf

[Cluster-devel] GFS2: Add hints to directory leaf blocks

2014-01-08 Thread Steven Whitehouse
>From 01bcb0dedbcd77a5ebb4f2dfd7d3196e3ad5cea5 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Wed, 8 Jan 2014 12:14:57 + Subject: GFS2: Add hints to directory leaf blocks This patch adds four new fields to directory leaf blocks. The intent is not to use them in the kernel its

Re: [Cluster-devel] [GFS2 PATCH] GFS2: Increase i_writecount during gfs2_setattr_chown

2014-01-07 Thread Steven Whitehouse
Hi, I've added this to the -nmw git tree. Thanks, Steve. On Mon, 2014-01-06 at 17:16 -0500, Bob Peterson wrote: > Hi, > > This patch calls get_write_access in function gfs2_setattr_chown, > which merely increases inode->i_writecount for the duration of the > function. That will ensure that any

[Cluster-devel] GFS2: Consolidate transaction blocks calculation for dir add

2014-01-06 Thread Steven Whitehouse
>From 534cf9ca553953e4c12fa5f0d23e543f9a6ccbaf Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Mon, 6 Jan 2014 12:03:05 + Subject: GFS2: Consolidate transaction blocks calculation for dir add There are three cases where we need to calculate the number of blocks to reserve i

<    1   2   3   4   5   6   7   8   9   10   >