Re: [ 64/66] GFS2: Test bufdata with buffer locked and gfs2_log_lock held

2012-11-26 Thread Steven Whitehouse
and attach it before locking. > > There is no way that the newly allocated bd could be on the ail list, > > and thus no way for __gfs2_ail_flush() to detach it. > > > > Signed-off-by: Benjamin Marzinski > > Signed-off-by: Steven Whitehouse > > Signed-off-by:

[PATCH 01/16] GFS2: Review bug traps in glops.c

2012-11-30 Thread Steven Whitehouse
ff-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index e6c2fd5..e543871 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -55,8 +55,6 @@ struct gfs2_glock_iter { typedef void (*glock_examiner) (struct gfs2_glock * gl); -static int __dump_glock(struct seq_file *seq,

[PATCH 03/16] GFS2: Rename glops go_xmote_th to go_sync

2012-11-30 Thread Steven Whitehouse
From: Bob Peterson [Editorial: This is a nit, but has been a minor irritation for a long time:] This patch renames glops structure item for go_xmote_th to go_sync. The functionality is unchanged; it's just for readability. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse

[PATCH 12/16] GFS2: only use lvb on glocks that need it

2012-11-30 Thread Steven Whitehouse
From: David Teigland Save the effort of allocating, reading and writing the lvb for most glocks that do not use it. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 9d29a51..2284de4 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2

[PATCH 15/16] GFS2: add error check while allocating new inodes

2012-11-30 Thread Steven Whitehouse
From: Bob Peterson This patch adds a return code check after attempting to allocate a new inode during dinode creation. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index e321333..2405695 100644 --- a/fs/gfs2/inode.c +++ b/fs

[PATCH 14/16] GFS2: don't reference inode's glock during block allocation trace

2012-11-30 Thread Steven Whitehouse
ned-off-by: Steven Whitehouse diff --git a/fs/gfs2/trace_gfs2.h b/fs/gfs2/trace_gfs2.h index bbdc78a..2ee13e8 100644 --- a/fs/gfs2/trace_gfs2.h +++ b/fs/gfs2/trace_gfs2.h @@ -486,7 +486,7 @@ TRACE_EVENT(gfs2_block_alloc, ), TP_fast_assign( - __entry->dev

[PATCH 16/16] GFS2: Set gl_object during inode create

2012-11-30 Thread Steven Whitehouse
wasn't set. Later, the flush daemon noticed the uncommitted data and tried to flush it, only to discover the glock was no longer locked properly in exclusive mode. That caused an assert withdraw. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/

[PATCH 11/16] GFS2: skip dlm_unlock calls in unmount

2012-11-30 Thread Steven Whitehouse
this case, dlm_unlock is called because it may update the lvb of the resource. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 6114571..9d29a51 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1526,6 +1526,7 @@ static

[PATCH 13/16] GFS2: remove redundant lvb pointer

2012-11-30 Thread Steven Whitehouse
From: David Teigland The lksb struct already contains a pointer to the lvb, so another directly from the glock struct is not needed. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 2284de4..274b6be 100644 --- a/fs/gfs2

[PATCH 09/16] GFS2: Eliminate redundant buffer_head manipulation in gfs2_unlink_inode

2012-11-30 Thread Steven Whitehouse
From: Bob Peterson Since we now have a dirty_inode that takes care of manipulating the inode buffer and writing from the inode to the buffer, we can eliminate some unnecessary buffer manipulations in gfs2_unlink_inode that are now redundant. Signed-off-by: Bob Peterson Signed-off-by: Steven

GFS2: Pre-pull patch posting (merge window)

2012-11-30 Thread Steven Whitehouse
Hi, So yes, this is a bit early, but the tree seems to have settled down now, and I'd like to hold off any further feature patches until the subsequent merge window at this stage. The main feature this time is the new Orlov allocator and the patches leading up to it which allow us to allocate new

[PATCH 05/16] GFS2: Use proper allocation context for new inodes

2012-11-30 Thread Steven Whitehouse
the parent directory's context. This give us a lot more flexibility in where the inode is placed on disk. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 381893c..749b05a 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -364,34 +364,34 @@ static int c

[PATCH 08/16] GFS2: Use dirty_inode in gfs2_dir_add

2012-11-30 Thread Steven Whitehouse
From: Bob Peterson This patch changes the gfs2_dir_add function so that it uses the dirty_inode function (via mark_inode_dirty) rather than manually updating the dinode. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c index 259b088

[PATCH 10/16] GFS2: Fix one RG corner case

2012-11-30 Thread Steven Whitehouse
For filesystems with only a single resource group, we need to be careful that the allocation loop will not land up with a NULL resource group. This fixes a bug in a previous patch where the gfs2_rgrpd_get_next() function was being used instead of gfs2_rgrpd_get_first() Signed-off-by: Steven

[PATCH 07/16] GFS2: Fix truncation of journaled data files

2012-11-30 Thread Steven Whitehouse
This patch fixes an issue relating to not having enough revokes available when truncating journaled data files. In order to ensure that we do no run out, the truncation is broken into separate pieces if it is large enough. Tested using fsx on a journaled data file. Signed-off-by: Steven

[PATCH 06/16] GFS2: Add Orlov allocator

2012-11-30 Thread Steven Whitehouse
, each of which will contain a job running on a different node, then by setting +T on the parent directory before creating the subdirectories, each will land up in a different resource group, and thus resource group contention between nodes will be kept to a minimum. Signed-off-by: Steven Whitehouse

[PATCH 04/16] GFS2: Add test for resource group congestion status

2012-11-30 Thread Steven Whitehouse
groups too often. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 669b89b..bdf3e64 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1681,6 +1681,88 @@ static void try_rgrp_unlink(struct gfs2_rgrpd *rgd, u64 *last_unlinked, u64 skip return

[PATCH 02/16] GFS2: Speed up gfs2_rbm_from_block

2012-11-30 Thread Steven Whitehouse
Mixed with transactions: 49913 files (94 per second) Data: 273.42 megabytes read (467.42 kilobytes per second) 852.13 megabytes written (1.42 megabytes per second) Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h ind

Re: [Cluster-devel] [PATCH v2 08/18] gfs2: use ->invalidatepage() length argument

2013-02-05 Thread Steven Whitehouse
Hi, Acked-by: Steven Whitehouse Steve. On Tue, 2013-02-05 at 10:12 +0100, Lukas Czerner wrote: > ->invalidatepage() aop now accepts range to invalidate so we can make > use of it in gfs2_invalidatepage(). > > Signed-off-by: Lukas Czerner > Cc: cluster-de...@redhat.com >

Re: [patch for-3.8] fs, dlm: fix build error when EXPERIMENTAL is disabled

2013-02-12 Thread Steven Whitehouse
Hi, On Mon, 2013-02-11 at 13:48 -0800, David Rientjes wrote: > CONFIG_IP_SCTP relies on being able to select things like CONFIG_CRC32C to > build. Thus, nothing should be selecting CONFIG_IP_SCTP that does not > meet its requirements. > > For example, if CONFIG_EXPERIMENTAL is disabled and CON

GFS2: Pre-pull patch posting

2013-04-05 Thread Steven Whitehouse
Hi, Here are a few GFS2 fixes which are pending. There are two patches which fix up a couple of minor issues in the DLM interface code, a missing error path in gfs2_rs_alloc(), two patches which fix problems during "withdraw" and a fix for discards/FITRIM when using 4k sector sized devices, Steve

[PATCH 1/6] GFS2: use kmalloc for lvb bitmap

2013-04-05 Thread Steven Whitehouse
From: David Teigland The temp lvb bitmap was on the stack, which could be an alignment problem for __set_bit_le. Use kmalloc for it instead. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 156e42e..5c29216 100644 --- a/fs

[PATCH 2/6] GFS2: use memchr_inv

2013-04-05 Thread Steven Whitehouse
From: Akinobu Mita Use memchr_inv to verify that the specified memory range is cleared. Signed-off-by: Akinobu Mita Cc: Steven Whitehouse Cc: cluster-de...@redhat.com Cc: Christine Caulfield Cc: David Teigland diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c index b15bb45..c8423d6

[PATCH 3/6] GFS2: return error if malloc failed in gfs2_rs_alloc()

2013-04-05 Thread Steven Whitehouse
From: Wei Yongjun The error code in gfs2_rs_alloc() is set to ENOMEM when error but never be used, instead, gfs2_rs_alloc() always return 0. Fix to return 'error'. Signed-off-by: Wei Yongjun Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index d1f51f

[PATCH 4/6] GFS2: Fix unlock of fcntl locks during withdrawn state

2013-04-05 Thread Steven Whitehouse
When withdraw occurs, we need to continue to allow unlocks of fcntl locks to occur, however these will only be local, since the node has withdrawn from the cluster. This prevents triggering a VFS level bug trap due to locks remaining when a file is closed. Signed-off-by: Steven Whitehouse diff

[PATCH 5/6] GFS2: Fix unlock of fcntl locks during withdrawn state

2013-04-05 Thread Steven Whitehouse
doesn't exist in the vfs), and skip all the userland traffic. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs/dlm/plock.c b/fs/dlm/plock.c index 01fd5c1..f704458 100644 --- a/fs/dlm/plock.c +++ b/fs/dlm/plock.c @@ -247,6 +247,7 @@ int dlm_posix_u

[PATCH 6/6] GFS2: Issue discards in 512b sectors

2013-04-05 Thread Steven Whitehouse
ocks is correct. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 70d1cd0..5a51265 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1181,12 +1181,9 @@ int gfs2_rgrp_send_discards(struct gfs2_sbd *sdp, u64 offset,

GFS2: Pull request (fixes)

2013-04-05 Thread Steven Whitehouse
land (2): GFS2: use kmalloc for lvb bitmap GFS2: Fix unlock of fcntl locks during withdrawn state Steven Whitehouse (1): GFS2: Fix unlock of fcntl locks during withdrawn state Wei Yongjun (1): GFS2: return error if malloc failed in gfs2_rs_alloc() fs/dl

Re: GFS2: Pull request (fixes)

2013-04-05 Thread Steven Whitehouse
Hi, On Fri, 2013-04-05 at 12:27 -0400, David Teigland wrote: > On Fri, Apr 05, 2013 at 11:34:45AM +0100, Steven Whitehouse wrote: > > Please consider pulling the following changes, > > There's some mixup here that should be cleared up first. > > > David Teigland (2

Re: GFS2: Pull request (fixes)

2013-04-05 Thread Steven Whitehouse
Akinobu Mita (1): GFS2: use memchr_inv Bob Peterson (1): GFS2: Issue discards in 512b sectors David Teigland (1): GFS2: use kmalloc for lvb bitmap Steven Whitehouse (1): GFS2: Fix unlock of fcntl locks during withdrawn state Wei Yongjun (1): GFS2: return error if

rcu: fix hlist_bl_set_first_rcu annotation

2013-01-30 Thread Steven Whitehouse
Abhi noticed that we were getting a complaint from the RCU subsystem about access of an RCU protected list under the write side bit lock. This patch adds additional annotation to check both the RCU read lock and the write side bit lock before printing a message. Signed-off-by: Steven Whitehouse

GFS2: Pull request (fixes)

2013-01-28 Thread Steven Whitehouse
ecent commit fb6791d100d1bba20b5cdbc4912e1f7086ec60f8 included the wrong logic. The lvbptr check was incorrectly added after the patch was tested. 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 b906ed1..9802de0 100644 --- a/fs

[PATCH 02/10] GFS2: Merge revoke adding functions

2013-02-19 Thread Steven Whitehouse
This moves the lo_add function for revokes into trans.c, removing a function call and making the code easier to read. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 9ceccb1..9c80742 100644 --- a/fs/gfs2/lops.c +++ b/fs/gfs2/lops.c @@ -600,20 +600,6 @@ static

[PATCH 05/10] GFS2: Merge gfs2_attach_bufdata() into trans.c

2013-02-19 Thread Steven Whitehouse
the locking related to adding data and metadata to the journal is now in these two functions. This should help to clarify what is going on, and give us some opportunities to simplify in some cases. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/lops.h b/fs/gfs2/lops.h index d85b376

[PATCH 10/10] GFS2: Reinstate withdraw ack system

2013-02-19 Thread Steven Whitehouse
This patch reinstates the ack system which withdraw should be using. It appears to have been accidentally forgotten when the lock module was merged into GFS2, due to two different sysfs files having the same name. Reported-by: David Teigland Signed-off-by: Steven Whitehouse diff --git a/fs

[PATCH 09/10] GFS2: Get a block reservation before resizing a file

2013-02-19 Thread Steven Whitehouse
From: Bob Peterson This patch allocates a block reservation structure before growing or shrinking a file. Without this structure, the grow or shink code can reference the bad pointer. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c

[PATCH 06/10] GFS2: Clean up freeze code

2013-02-19 Thread Steven Whitehouse
means freezing this way vs. doing it from the ioctl should now work in identical fashion. As a result of this, the freeze function is only called once and we can drop our own special purpose code for counting the number of freezes. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs

[PATCH 08/10] GFS2: Split glock lru processing into two parts

2013-02-19 Thread Steven Whitehouse
o now. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 3ad8fd3..cf35155 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -30,6 +30,7 @@ #include #include #include +#include #include "gfs2.h" #include "incore.h" @@

[PATCH 07/10] GFS2: Use ->writepages for ordered writes

2013-02-19 Thread Steven Whitehouse
his updated version we can also use mpage_writepages() for GFS2's ordered write, writepages implementation. So we will also send larger i/os from writeback too. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 92340dd..24f414f 100644 --- a/fs/gfs2/aops.c +++ b

[PATCH 04/10] GFS2: Copy gfs2_trans_add_bh into new data/meta functions

2013-02-19 Thread Steven Whitehouse
that is removed from the log operations structure. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index c373a24..5d129ab 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -52,7 +52,6 @@ struct gfs2_log_header_host { */ struct gfs2_log_operations

GFS2: Pre-pull patch posting (merge window)

2013-02-19 Thread Steven Whitehouse
This is one of the smallest collections of patches for the merge window for some time. There are some clean ups relating to the transaction code and the shrinker, which are mostly in preparation for further development, but also make the code much easier to follow in these areas. There is a patch

[PATCH 03/10] GFS2: Split gfs2_trans_add_bh() into two

2013-02-19 Thread Steven Whitehouse
update the callers accordingly. Later patches will then pull in the content of gfs2_trans_add_bh() and its dependent functions in order to clean up the code in this area. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 30de4f2..92340dd 100644 --- a/fs/gfs2

[PATCH 01/10] GFS2: Separate LRU scanning from shrinker

2013-02-19 Thread Steven Whitehouse
This breaks out the LRU scanning function from the shrinker in preparation for adding other callers to the LRU scanner. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 992c5c0..3ad8fd3 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -1376,23 +1376,19

GFS2: Pull request (merge window)

2013-02-19 Thread Steven Whitehouse
ernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master Bob Peterson (1): GFS2: Get a block reservation before resizing a file Steven Whitehouse (9): GFS2: Separate LRU scanning from shrinker GFS2: Merge revoke adding functions GFS2: Split gfs2_trans_add_bh() into t

Re: [PATCH] decnet: fix shutdown parameter checking

2012-09-05 Thread Steven Whitehouse
Hi, On Fri, 2012-08-31 at 15:57 -0400, David Miller wrote: > From: Steven Whitehouse > Date: Mon, 27 Aug 2012 10:16:41 +0100 > > > On Sun, 2012-08-26 at 22:37 -0400, Xi Wang wrote: > >> The allowed value of "how" is SHUT_RD/SHUT_WR/SHUT_RDWR (0/1/2),

Re: [PATCH] fs: encode_fh: return FILEID_INVALID if invalid fid_type

2012-09-05 Thread Steven Whitehouse
vek Trivedi Acked-by: Steven Whitehouse for the gfs2 bits, Steve. > --- > fs/btrfs/export.c |4 ++-- > fs/ceph/export.c|4 ++-- > fs/fuse/inode.c |2 +- > fs/gfs2/export.c|4 ++-- > fs/isofs/export.c |4 ++-- > fs/nilfs2/namei.c |4 ++-

[PATCH 2/3] GFS2: Fix missing allocation data for set/remove xattr

2012-09-13 Thread Steven Whitehouse
These entry points were missed in the original patch to allocate this data structure. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 4ce22e5..753af3d 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -1722,7 +1722,9 @@ static int gfs2_setxattr(struct

[PATCH 3/3] GFS2: Take account of blockages when using reserved blocks

2012-09-13 Thread Steven Whitehouse
t that can be dealt with in a future patch since we don't generate boundary crossing reservations currently. Signed-off-by: Steven Whitehouse Reported-by: David Teigland Cc: Bob Peterson diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 4d34887..c9ed814 100644 --- a/fs/gfs2/rgrp.c +++ b

GFS2: Pre-pull patch posting (fixes)

2012-09-13 Thread Steven Whitehouse
Hi, Here are three GFS2 fixes for the current kernel tree. These are all related to the block reservation code which was added at the merge window. That code will be getting an update at the forthcoming merge window too. In the mean time though there are a few smaller issues which should be fixed.

[PATCH 1/3] GFS2: Make write size hinting code common

2012-09-13 Thread Steven Whitehouse
This collects up the write size hinting code which is used by the block reservation subsystem into a single function. At the same time this also corrects the rounding for this calculation. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c index d1d791e..382000f

GFS2: Pull request (fixes)

2012-09-13 Thread Steven Whitehouse
in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Steven Whitehouse (3): GFS2: Make write size hinting code common GFS2: Fix missing allocation data for set/remove xattr GFS2: Take account of blockages when using reserved

Re: [PATCH] gfs2: be*_add_cpu conversion

2008-02-13 Thread Steven Whitehouse
ig_endian_variable) + > expression_in_cpu_byteorder); > with: > beX_add_cpu(&big_endian_variable, expression_in_cpu_byteorder); > generated with semantic patch > > Signed-off-by: Marcin Slusarz <[EMAIL PROTECTED]> > Cc: Steven Whitehouse <[EMAIL PROTECTED]> > Cc: [EMAIL

Re: gfs2_fh_to_parent() array overflow

2008-02-14 Thread Steven Whitehouse
Hi, On Wed, 2008-02-13 at 23:31 +0200, Adrian Bunk wrote: > On Mon, Oct 29, 2007 at 09:11:21AM +0000, Steven Whitehouse wrote: > > Hi, > > > > On Sat, 2007-10-27 at 23:00 +0200, Christoph Hellwig wrote: > > > On Wed, Oct 24, 2007 at 06:26:26PM +0200, Adrian Bu

Re: VFS hot tracking: How to calculate data temperature?

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-11-05 at 16:44 +0800, Zhi Yong Wu wrote: > On Mon, Nov 5, 2012 at 4:28 PM, Dave Chinner wrote: > > On Mon, Nov 05, 2012 at 10:35:50AM +0800, Zhi Yong Wu wrote: > >> On Sat, Nov 3, 2012 at 5:27 AM, Mingming.cao wrote: > >> > On Fri, 2012-11-02 at 14:38 +0800, Zhi Yong Wu wrote: >

Re: [RFC v4+ hot_track 03/19] vfs: add I/O frequency update function

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-10-29 at 12:30 +0800, zwu.ker...@gmail.com wrote: > From: Zhi Yong Wu > > Add some util helpers to update access frequencies > for one file or its range. > > Signed-off-by: Zhi Yong Wu > --- > fs/hot_tracking.c| 179 > ++

Re: [RFC v4+ hot_track 09/19] vfs: add one work queue

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-10-29 at 12:30 +0800, zwu.ker...@gmail.com wrote: > From: Zhi Yong Wu > > Add a per-superblock workqueue and a delayed_work > to run periodic work to update map info on each superblock. > > Signed-off-by: Zhi Yong Wu > --- > fs/hot_tracking.c| 85 > ++

Re: VFS hot tracking: How to calculate data temperature?

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-11-05 at 19:46 +0800, Zhi Yong Wu wrote: > On Mon, Nov 5, 2012 at 6:33 PM, Steven Whitehouse wrote: > > Hi, > > > > On Mon, 2012-11-05 at 16:44 +0800, Zhi Yong Wu wrote: > >> On Mon, Nov 5, 2012 at 4:28 PM, Dave Chinner wrote: > >> >

Re: [RFC v4+ hot_track 09/19] vfs: add one work queue

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-11-05 at 19:55 +0800, Zhi Yong Wu wrote: > On Mon, Nov 5, 2012 at 7:21 PM, Steven Whitehouse wrote: > > Hi, > > > > On Mon, 2012-10-29 at 12:30 +0800, zwu.ker...@gmail.com wrote: > >> From: Zhi Yong Wu > >> > >> Add a per-sup

Re: VFS hot tracking: How to calculate data temperature?

2012-11-05 Thread Steven Whitehouse
Hi, On Mon, 2012-11-05 at 20:18 +0800, Zhi Yong Wu wrote: > On Mon, Nov 5, 2012 at 7:57 PM, Steven Whitehouse wrote: > > Hi, > > > > On Mon, 2012-11-05 at 19:46 +0800, Zhi Yong Wu wrote: > >> On Mon, Nov 5, 2012 at 6:33 PM, Steven Whitehouse > >> wrote: &

Re: [PATCH 15/16] gfs2: nuke pdflush from comments

2012-07-26 Thread Steven Whitehouse
Hi, On Wed, 2012-07-25 at 11:16 -0400, Bob Peterson wrote: > - Original Message - > | From: Artem Bityutskiy > | > | The pdflush thread is long gone, so this patch removes references to > | pdflush > | from gfs comments. > | > (snip) > | -* potentially cause a busy-wait loop

GFS2: Pre-pull patch posting (merge window)

2012-09-26 Thread Steven Whitehouse
Hi, We've collected up a goodly number of patches in the -nmw tree now and we can hold off any further changes until the following merge window, so here is the current tree content. The major feature this time is the "rbm" conversion in the resource group code. The new struct gfs2_rbm specifies t

[PATCH 01/27] GFS2: Merge two nearly identical xattr functions

2012-09-26 Thread Steven Whitehouse
is no longer duplicated. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/xattr.c b/fs/gfs2/xattr.c index 27a0b4a..5404ed1 100644 --- a/fs/gfs2/xattr.c +++ b/fs/gfs2/xattr.c @@ -448,17 +448,18 @@ ssize_t gfs2_listxattr(struct dentry *dentry, char *buffer, size_t size

[PATCH 10/27] GFS2: change function gfs2_direct_IO to use a normal gfs2_glock_dq

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson This patch changes function gfs2_direct_IO so that it uses a normal call to gfs2_glock_dq rather than a call to a multiple-dq of one item. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index 00eaa83..01c4975

[PATCH 19/27] GFS2: Fall back to ignoring reservations, if there are no other blocks left

2012-09-26 Thread Steven Whitehouse
sneeked in and use some blocks reserved on this node, for example. Generally this will happen very rarely and only when the resouce group is nearly full. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 55a2651..30c864e 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2

[PATCH 22/27] GFS2: Stop block extents at the end of bitmaps

2012-09-26 Thread Steven Whitehouse
(null) IP: [] gfs2_alloc_blocks+0x2c8/0x880 [gfs2] With this patch, things run normally. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 8869541..defb826 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1834,8 +1834,7 @@ static

[PATCH 25/27] GFS2: Fix infinite loop in rbm_find

2012-09-26 Thread Steven Whitehouse
-by: Bob Peterson Signed-off-by: Steven Whitehouse Tested-by: Bob Peterson Tested-by: Barry Marson diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index b933cdc..3cc402c 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -329,6 +329,7 @@ static u32 gfs2_free_extlen(const struct gfs2_rbm *rrbm

[PATCH 27/27] GFS2: Write out dirty inode metadata in delayed deletes

2012-09-26 Thread Steven Whitehouse
the file, but it failed the error check before it got that far. This patch writes out the metadata before calling gfs2_ail_flush() Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 79cac70..a8d90f2 100644 --- a/fs/gfs2/super.c

[PATCH 26/27] GFS2: fix s_writers.counter imbalance in gfs2_ail_empty_gl

2012-09-26 Thread Steven Whitehouse
out it, we reach a writer count of -1 and get stuck. Signed-off-by: Eric Sandeen Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c index 4bdcf37..32cc4fd 100644 --- a/fs/gfs2/glops.c +++ b/fs/gfs2/glops.c @@ -94,6 +94,7 @@ static void gfs2_ail_empty_gl(struct gfs2

[PATCH 24/27] GFS2: Consolidate free block searching functions

2012-09-26 Thread Steven Whitehouse
issue in this patch. That fix to the rb_tree traversal and to not share block reservations from a dirctory to its children is included here. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 6aaa07c..3d469d3 100644 --- a/fs/gfs2

[PATCH 04/27] GFS2: Replace rgblk_search with gfs2_rbm_find

2012-09-26 Thread Steven Whitehouse
The allocation of extents is now in all cases done by the existing allocation code, and if there is an active reservation, that is updated after the fact. Again this is done under the spin lock, since it entails changing the lookup key for the reservation in question. Signed-off-by: Steven Whitehouse

[PATCH 12/27] GFS2: Combine functions gfs2_glock_wait and wait_on_holder

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson Function gfs2_glock_wait only called function wait_on_holder and returned its return code, so they were combined for readability. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 67f3e42..5c87909 100644 --- a

[PATCH 15/27] GFS2: Eliminate unnecessary check for state > 3 in bitfit

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson Function gfs2_bitfit was checking for state > 3, but that's impossible since it is only called from rgblk_search, which receives only GFS2_BLKST_ constants. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp

[PATCH 17/27] GFS2: Use rbm for gfs2_setbit()

2012-09-26 Thread Steven Whitehouse
Use the rbm structure for gfs2_setbit() in order to simplify the arguments to the function. We have to add a bool to control whether the clone bitmap should be updated (if it exists) but otherwise it is a more or less direct substitution. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2

[PATCH 20/27] GFS2: Improve block reservation tracing

2012-09-26 Thread Steven Whitehouse
ned-off-by: Steven Whitehouse diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h index 99d7c64..6aaa07c 100644 --- a/fs/gfs2/incore.h +++ b/fs/gfs2/incore.h @@ -268,13 +268,11 @@ struct gfs2_blkreserv { /* components used during write (step 1): */ atomic_t rs_sizehint; /* h

[PATCH 23/27] GFS2: Get rid of I_MUTEX_QUOTA usage

2012-09-26 Thread Steven Whitehouse
clear. Signed-off-by: Jan Kara Signed-off-by: J. Bruce Fields Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index e5af9dc..e443966 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -19,6 +19,7 @@ #include #include #include +#in

[PATCH 21/27] GFS2: Fix unclaimed_blocks() wrapping bug and clean up

2012-09-26 Thread Steven Whitehouse
in the code has been dropped by means of a general clean up of gfs2_inplace_reserve(). This function is now much easier to follow. Also the setting of the rgd->rd_last_alloc field is corrected. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 87ee0b7..88695

[PATCH 18/27] GFS2: Fix ->show_options() for statfs slow

2012-09-26 Thread Steven Whitehouse
The ->show_options() function for GFS2 was not correctly displaying the value when statfs slow in in use. Signed-off-by: Steven Whitehouse Reported-by: Milos Jakubicek diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 3cbac68..79cac70 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/supe

[PATCH 16/27] GFS2: Use rbm for gfs2_testbit()

2012-09-26 Thread Steven Whitehouse
Change the arguments to gfs2_testbit() so that it now just takes an rbm specifying the position of the two bit entry to return. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 47d2346..3a288ce 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -117,30

[PATCH 14/27] GFS2: Eliminate redundant calls to may_grant

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson Function add_to_queue was checking may_grant for the passed-in holder for every iteration of its gh2 loop. Now it only checks it once at the beginning to see if a try lock is futile. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c

[PATCH 13/27] GFS2: Combine functions gfs2_glock_dq_wait and wait_on_demote

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson Function gfs2_glock_dq_wait called two-line function wait_on_demote, so they were combined. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 5c87909..fca6a87 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c

[PATCH 11/27] GFS2: inline __gfs2_glock_schedule_for_reclaim

2012-09-26 Thread Steven Whitehouse
From: Bob Peterson Since function gfs2_glock_schedule_for_reclaim is only two significant lines, we can eliminate it, simplifying the code and making it more readable. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 1ed81f4

[PATCH 09/27] GFS2: rbm code cleanup

2012-09-26 Thread Steven Whitehouse
it. Lastly, a check for goal block overflows was added to function gfs2_alloc_blocks. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index c17029a..c267118 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -467,7 +467,7 @@ int gfs

[PATCH 08/27] GFS2: Fix case where reservation finished at end of rgrp

2012-09-26 Thread Steven Whitehouse
One corner case which the original patch failed to take into account was when there is a reservation which ended such that the following block was one beyond the end of the rgrp in question. This extra test fixes that case. Signed-off-by: Steven Whitehouse Reported-by: Bob Peterson Tested-by

[PATCH 05/27] GFS2: Update gfs2_get_block_type() to use rbm

2012-09-26 Thread Steven Whitehouse
Use the new gfs2_rbm_from_block() function to replace an open coded version of the same code. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index bd3b926..0c1be38 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1824,27 +1824,14 @@ void gfs2_inplace_release

[PATCH 07/27] GFS2: Use RB_CLEAR_NODE() rather than rb_init_node()

2012-09-26 Thread Steven Whitehouse
From: Michel Lespinasse gfs2 calls RB_EMPTY_NODE() to check if nodes are not on an rbtree. The corresponding initialization function is RB_CLEAR_NODE(). rb_init_node() was never clearly defined and is going away. Signed-off-by: Michel Lespinasse Signed-off-by: Steven Whitehouse diff --git a

[PATCH 06/27] GFS2: Update rgblk_free() to use rbm

2012-09-26 Thread Steven Whitehouse
Replace open coded version with a call to gfs2_rbm_from_block() Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 0c1be38..06476b3 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c @@ -1890,46 +1890,30 @@ static u64 gfs2_alloc_extent(const struct gfs2_rbm *rbm

[PATCH 03/27] GFS2: Add structure to contain rgrp, bitmap, offset tuple

2012-09-26 Thread Steven Whitehouse
revisited since there can also be a NULL rgrp in some cases which results in the device being incorrect in the trace. This is intended to be the first step towards cleaning up some of the allocation code, and some further bug fixes. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/bmap.c b

[PATCH 02/27] GFS2: Remove rs_requested field from reservations

2012-09-26 Thread Steven Whitehouse
unconditionally too, resulting in a further simplification. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index d652634..00eaa83 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c @@ -612,6 +612,7 @@ static int gfs2_write_begin(struct file *file, struct address_space

Re: [PATCH 07/11] gfs2: pass correct dentry to finish_open() in __gfs2_lookup()

2013-09-16 Thread Steven Whitehouse
Hi, On Mon, 2013-09-16 at 14:52 +0200, Miklos Szeredi wrote: > From: Miklos Szeredi > > AFAICS if d_splice_alias() returned non-NULL, this code would Oops > (finish_open expects an instantiated dentry). > > Signed-off-by: Miklos Szeredi > Cc: Steven Whitehouse > Cc

Re: [PATCH 06/11] gfs2: d_splice_alias() cant return error

2013-09-16 Thread Steven Whitehouse
the stable Cc). > That makes send to me: Acked-by: Steven Whitehouse I can put this in the gfs2 tree if that makes sense to do, Steve. > Signed-off-by: Miklos Szeredi > Cc: Steven Whitehouse > Cc: sta...@vger.kernel.org > --- > fs/gfs2/inode.c | 4 +--- > 1 file chang

Re: [PATCH 09/11] gfs2: set FILE_CREATED

2013-09-16 Thread Steven Whitehouse
Hi, On Mon, 2013-09-16 at 14:52 +0200, Miklos Szeredi wrote: > From: Miklos Szeredi > > In gfs2_create_inode() set FILE_CREATED in *opened. > Acked-by: Steven Whitehouse Thanks for spotting this issue, Steve. > Signed-off-by: Miklos Szeredi > Cc: Steven Whitehouse

Re: [PATCH 07/11] gfs2: pass correct dentry to finish_open() in __gfs2_lookup()

2013-09-16 Thread Steven Whitehouse
Hi, On Mon, 2013-09-16 at 15:34 +0200, Miklos Szeredi wrote: > On Mon, Sep 16, 2013 at 02:13:14PM +0100, Steven Whitehouse wrote: > > Hi, > > > > On Mon, 2013-09-16 at 14:52 +0200, Miklos Szeredi wrote: > > > From: Miklos Szeredi > > > > > > AF

Re: [PATCH 06/11] gfs2: d_splice_alias() cant return error

2013-09-16 Thread Steven Whitehouse
Hi, On Mon, 2013-09-16 at 15:35 +0200, Miklos Szeredi wrote: > On Mon, Sep 16, 2013 at 02:17:49PM +0100, Steven Whitehouse wrote: > > Hi, > > > > On Mon, 2013-09-16 at 14:52 +0200, Miklos Szeredi wrote: > > > From: Miklos Szeredi > > > > > > u

[PATCH 3/6] GFS2: Merge ordered and writeback writepage

2013-09-05 Thread Steven Whitehouse
The writepages function was recently merged between writeback and ordered mode. This completes the change by doing the same with writepage. The remaining differences in writepage were left over from some earlier time and not actually doing anything useful. Signed-off-by: Steven Whitehouse diff

GFS2 Pre-pull patch posting (merge window)

2013-09-05 Thread Steven Whitehouse
Hi, This is the smallest merge window patch set for GFS2 for quite some time. Only one of the patches (moving gfs2_sync_meta) is a non-bug fix patch, although the merge ordered and writeback writepage patch is also a nice clean up. A couple of the patches are quite recently added, due to my only

[PATCH 6/6] GFS2: dirty inode correctly in gfs2_write_end

2013-09-05 Thread Steven Whitehouse
data journalling. This will make sure that all incore logged data gets written to disk before returning from a fsync. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index a9ea6f0..1f7d805 100644 --- a/fs/gfs2/aops.c +++ b/fs

[PATCH 4/6] GFS2: Remove unnecessary memory barrier

2013-09-05 Thread Steven Whitehouse
From: Bob Peterson Function test_and_clear_bit implies a memory barrier, so subsequent memory barriers are unnecessary. Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index ce7078d..722329c 100644 --- a/fs/gfs2/glock.c +++ b/fs

[PATCH 2/6] GFS2: Take glock reference in examine_bucket()

2013-09-05 Thread Steven Whitehouse
examiner functions all need to put their reference on the glock once they've performed their function. Signed-off-by: Steven Whitehouse Reported-by: David Teigland Tested-by: David Teigland diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 544a809..ce7078d 100644 --- a/fs/gfs2/glock.c +++

[PATCH 5/6] GFS2: Don't flag consistency error if first mounter is a spectator

2013-09-05 Thread Steven Whitehouse
/dev/sasdrives/scratch /mnt/gfs2 # ls /mnt/gfs2|wc -l 352 # umount /mnt/gfs2 Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 0262c19..19ff5e8 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -646,6 +646,48 @@ s

[PATCH 1/6] GFS2: Move gfs2_sync_meta to lops.c

2013-09-05 Thread Steven Whitehouse
Since gfs2_sync_meta() is only called from a single file, lets move it to lops.c where it is used, and mark it static. At the same time, we can clean up the meta_io.h header too. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c index 17c5b5d..010b9fb 100644 --- a/fs

  1   2   3   4   5   6   7   >