linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* GFS2: Pre-pull patch posting (fixes)
@ 2014-09-15  9:32 Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 1/6] GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts Steven Whitehouse
                   ` (5 more replies)
  0 siblings, 6 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a number of small fixes for GFS2. There is a fix for FIEMAP
on large sparse files, a negative dentry hashing fix, a fix for
flock, and a bug fix relating to d_splice_alias usage. There are
also (patches 1 and 5) a couple of updates which are less
critical, but small and low risk.

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* [PATCH 1/6] GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 2/6] GFS2: Change maxlen variables to size_t Steven Whitehouse
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel; +Cc: Fabian Frederick, Steven Whitehouse

From: Fabian Frederick <fabf@skynet.be>

fix checkpatch warnings:
"WARNING: Prefer seq_puts to seq_printf"

Cc: cluster-devel@redhat.com
Signed-off-by: Fabian Frederick <fabf@skynet.be>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index 2607ff1..a346f56 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -1294,7 +1294,7 @@ static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 	int val;
 
 	if (is_ancestor(root, sdp->sd_master_dir))
-		seq_printf(s, ",meta");
+		seq_puts(s, ",meta");
 	if (args->ar_lockproto[0])
 		seq_printf(s, ",lockproto=%s", args->ar_lockproto);
 	if (args->ar_locktable[0])
@@ -1302,13 +1302,13 @@ static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 	if (args->ar_hostdata[0])
 		seq_printf(s, ",hostdata=%s", args->ar_hostdata);
 	if (args->ar_spectator)
-		seq_printf(s, ",spectator");
+		seq_puts(s, ",spectator");
 	if (args->ar_localflocks)
-		seq_printf(s, ",localflocks");
+		seq_puts(s, ",localflocks");
 	if (args->ar_debug)
-		seq_printf(s, ",debug");
+		seq_puts(s, ",debug");
 	if (args->ar_posix_acl)
-		seq_printf(s, ",acl");
+		seq_puts(s, ",acl");
 	if (args->ar_quota != GFS2_QUOTA_DEFAULT) {
 		char *state;
 		switch (args->ar_quota) {
@@ -1328,7 +1328,7 @@ static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 		seq_printf(s, ",quota=%s", state);
 	}
 	if (args->ar_suiddir)
-		seq_printf(s, ",suiddir");
+		seq_puts(s, ",suiddir");
 	if (args->ar_data != GFS2_DATA_DEFAULT) {
 		char *state;
 		switch (args->ar_data) {
@@ -1345,7 +1345,7 @@ static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 		seq_printf(s, ",data=%s", state);
 	}
 	if (args->ar_discard)
-		seq_printf(s, ",discard");
+		seq_puts(s, ",discard");
 	val = sdp->sd_tune.gt_logd_secs;
 	if (val != 30)
 		seq_printf(s, ",commit=%d", val);
@@ -1376,11 +1376,11 @@ static int gfs2_show_options(struct seq_file *s, struct dentry *root)
 		seq_printf(s, ",errors=%s", state);
 	}
 	if (test_bit(SDF_NOBARRIERS, &sdp->sd_flags))
-		seq_printf(s, ",nobarrier");
+		seq_puts(s, ",nobarrier");
 	if (test_bit(SDF_DEMOTE, &sdp->sd_flags))
-		seq_printf(s, ",demote_interface_used");
+		seq_puts(s, ",demote_interface_used");
 	if (args->ar_rgrplvb)
-		seq_printf(s, ",rgrplvb");
+		seq_puts(s, ",rgrplvb");
 	return 0;
 }
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 2/6] GFS2: Change maxlen variables to size_t
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 1/6] GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 3/6] GFS2: Request demote when a "try" flock fails Steven Whitehouse
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel; +Cc: Bob Peterson, Steven Whitehouse

From: Bob Peterson <rpeterso@redhat.com>

This patch changes some variables (especially maxlen in function
gfs2_block_map) from unsigned int to size_t. We need 64-bit arithmetic
for very large files (e.g. 1PB) where the variables otherwise get
shifted to all 0's.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index e6ee5b6..f0b945a 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -359,7 +359,7 @@ static inline void release_metapath(struct metapath *mp)
  * Returns: The length of the extent (minimum of one block)
  */
 
-static inline unsigned int gfs2_extent_length(void *start, unsigned int len, __be64 *ptr, unsigned limit, int *eob)
+static inline unsigned int gfs2_extent_length(void *start, unsigned int len, __be64 *ptr, size_t limit, int *eob)
 {
 	const __be64 *end = (start + len);
 	const __be64 *first = ptr;
@@ -449,7 +449,7 @@ static int gfs2_bmap_alloc(struct inode *inode, const sector_t lblock,
 			   struct buffer_head *bh_map, struct metapath *mp,
 			   const unsigned int sheight,
 			   const unsigned int height,
-			   const unsigned int maxlen)
+			   const size_t maxlen)
 {
 	struct gfs2_inode *ip = GFS2_I(inode);
 	struct gfs2_sbd *sdp = GFS2_SB(inode);
@@ -483,7 +483,8 @@ static int gfs2_bmap_alloc(struct inode *inode, const sector_t lblock,
 	} else {
 		/* Need to allocate indirect blocks */
 		ptrs_per_blk = height > 1 ? sdp->sd_inptrs : sdp->sd_diptrs;
-		dblks = min(maxlen, ptrs_per_blk - mp->mp_list[end_of_metadata]);
+		dblks = min(maxlen, (size_t)(ptrs_per_blk -
+					     mp->mp_list[end_of_metadata]));
 		if (height == ip->i_height) {
 			/* Writing into existing tree, extend tree down */
 			iblks = height - sheight;
@@ -605,7 +606,7 @@ int gfs2_block_map(struct inode *inode, sector_t lblock,
 	struct gfs2_inode *ip = GFS2_I(inode);
 	struct gfs2_sbd *sdp = GFS2_SB(inode);
 	unsigned int bsize = sdp->sd_sb.sb_bsize;
-	const unsigned int maxlen = bh_map->b_size >> inode->i_blkbits;
+	const size_t maxlen = bh_map->b_size >> inode->i_blkbits;
 	const u64 *arr = sdp->sd_heightsize;
 	__be64 *ptr;
 	u64 size;
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 3/6] GFS2: Request demote when a "try" flock fails
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 1/6] GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 2/6] GFS2: Change maxlen variables to size_t Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 4/6] GFS2: Hash the negative dentry during inode lookup Steven Whitehouse
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel; +Cc: Bob Peterson, Steven Whitehouse

From: Bob Peterson <rpeterso@redhat.com>

This patch changes the flock code so that it uses the TRY_1CB flag
instead of the TRY flag on the first attempt. That forces any holding
nodes to issue a dlm callback, which requests a demote of the glock.
Then, if the "try" failed, it sleeps a small amount of time for the
demote to occur. Then it tries again, for an increasing amount of time.
Subsequent attempts to gain the "try" lock don't use "_1CB" so that
only one callback is issued.

Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/file.c b/fs/gfs2/file.c
index 26b3f95..7f4ed3d 100644
--- a/fs/gfs2/file.c
+++ b/fs/gfs2/file.c
@@ -26,6 +26,7 @@
 #include <linux/dlm.h>
 #include <linux/dlm_plock.h>
 #include <linux/aio.h>
+#include <linux/delay.h>
 
 #include "gfs2.h"
 #include "incore.h"
@@ -979,9 +980,10 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
 	unsigned int state;
 	int flags;
 	int error = 0;
+	int sleeptime;
 
 	state = (fl->fl_type == F_WRLCK) ? LM_ST_EXCLUSIVE : LM_ST_SHARED;
-	flags = (IS_SETLKW(cmd) ? 0 : LM_FLAG_TRY) | GL_EXACT;
+	flags = (IS_SETLKW(cmd) ? 0 : LM_FLAG_TRY_1CB) | GL_EXACT;
 
 	mutex_lock(&fp->f_fl_mutex);
 
@@ -1001,7 +1003,14 @@ static int do_flock(struct file *file, int cmd, struct file_lock *fl)
 		gfs2_holder_init(gl, state, flags, fl_gh);
 		gfs2_glock_put(gl);
 	}
-	error = gfs2_glock_nq(fl_gh);
+	for (sleeptime = 1; sleeptime <= 4; sleeptime <<= 1) {
+		error = gfs2_glock_nq(fl_gh);
+		if (error != GLR_TRYFAILED)
+			break;
+		fl_gh->gh_flags = LM_FLAG_TRY | GL_EXACT;
+		fl_gh->gh_error = 0;
+		msleep(sleeptime);
+	}
 	if (error) {
 		gfs2_holder_uninit(fl_gh);
 		if (error == GLR_TRYFAILED)
@@ -1024,7 +1033,7 @@ static void do_unflock(struct file *file, struct file_lock *fl)
 	mutex_lock(&fp->f_fl_mutex);
 	flock_lock_file_wait(file, fl);
 	if (fl_gh->gh_gl) {
-		gfs2_glock_dq_wait(fl_gh);
+		gfs2_glock_dq(fl_gh);
 		gfs2_holder_uninit(fl_gh);
 	}
 	mutex_unlock(&fp->f_fl_mutex);
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 4/6] GFS2: Hash the negative dentry during inode lookup
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
                   ` (2 preceding siblings ...)
  2014-09-15  9:32 ` [PATCH 3/6] GFS2: Request demote when a "try" flock fails Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 5/6] GFS2: Don't use MAXQUOTAS value Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 6/6] GFS2: fix d_splice_alias() misuses Steven Whitehouse
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel
  Cc: Benjamin Coddington, Bob Peterson, Steven Whitehouse

From: Benjamin Coddington <bcodding@redhat.com>

Fix a regression introduced by:
6d4ade986f9c8df31e68 GFS2: Add atomic_open support
where an early return misses d_splice_alias() which had been
adding the negative dentry.

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index e62e594..9317ddc 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -840,8 +840,10 @@ static struct dentry *__gfs2_lookup(struct inode *dir, struct dentry *dentry,
 	int error;
 
 	inode = gfs2_lookupi(dir, &dentry->d_name, 0);
-	if (!inode)
+	if (inode == NULL) {
+		d_add(dentry, NULL);
 		return NULL;
+	}
 	if (IS_ERR(inode))
 		return ERR_CAST(inode);
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 5/6] GFS2: Don't use MAXQUOTAS value
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
                   ` (3 preceding siblings ...)
  2014-09-15  9:32 ` [PATCH 4/6] GFS2: Hash the negative dentry during inode lookup Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  2014-09-15  9:32 ` [PATCH 6/6] GFS2: fix d_splice_alias() misuses Steven Whitehouse
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel; +Cc: Jan Kara, Steven Whitehouse

From: Jan Kara <jack@suse.cz>

MAXQUOTAS value defines maximum number of quota types VFS supports.
This isn't necessarily the number of types gfs2 supports and with
addition of project quotas these two numbers stop matching. So make gfs2
use its private definition.

CC: cluster-devel@redhat.com
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 67d310c..39e7e99 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -262,6 +262,9 @@ struct gfs2_holder {
 	unsigned long gh_ip;
 };
 
+/* Number of quota types we support */
+#define GFS2_MAXQUOTAS 2
+
 /* Resource group multi-block reservation, in order of appearance:
 
    Step 1. Function prepares to write, allocates a mb, sets the size hint.
@@ -282,8 +285,8 @@ struct gfs2_blkreserv {
 	u64 rs_inum;                  /* Inode number for reservation */
 
 	/* ancillary quota stuff */
-	struct gfs2_quota_data *rs_qa_qd[2 * MAXQUOTAS];
-	struct gfs2_holder rs_qa_qd_ghs[2 * MAXQUOTAS];
+	struct gfs2_quota_data *rs_qa_qd[2 * GFS2_MAXQUOTAS];
+	struct gfs2_holder rs_qa_qd_ghs[2 * GFS2_MAXQUOTAS];
 	unsigned int rs_qa_qd_num;
 };
 
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* [PATCH 6/6] GFS2: fix d_splice_alias() misuses
  2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
                   ` (4 preceding siblings ...)
  2014-09-15  9:32 ` [PATCH 5/6] GFS2: Don't use MAXQUOTAS value Steven Whitehouse
@ 2014-09-15  9:32 ` Steven Whitehouse
  5 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-09-15  9:32 UTC (permalink / raw)
  To: linux-kernel, cluster-devel; +Cc: Al Viro, stable, Al Viro, Steven Whitehouse

From: Al Viro <viro@ZenIV.linux.org.uk>

Callers of d_splice_alias(dentry, inode) don't need iput(), neither
on success nor on failure.  Either the reference to inode is stored
in a previously negative dentry, or it's dropped.  In either case
inode reference the caller used to hold is consumed.

__gfs2_lookup() does iput() in case when d_splice_alias() has failed.
Double iput() if we ever hit that.  And gfs2_create_inode() ends up
not only with double iput(), but with link count dropped to zero - on
an inode it has just found in directory.

Cc: stable@vger.kernel.org # v3.14+
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>

diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 9317ddc..fc8ac2e 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -626,8 +626,10 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
 	if (!IS_ERR(inode)) {
 		d = d_splice_alias(inode, dentry);
 		error = PTR_ERR(d);
-		if (IS_ERR(d))
+		if (IS_ERR(d)) {
+			inode = ERR_CAST(d);
 			goto fail_gunlock;
+		}
 		error = 0;
 		if (file) {
 			if (S_ISREG(inode->i_mode)) {
@@ -856,7 +858,6 @@ static struct dentry *__gfs2_lookup(struct inode *dir, struct dentry *dentry,
 
 	d = d_splice_alias(inode, dentry);
 	if (IS_ERR(d)) {
-		iput(inode);
 		gfs2_glock_dq_uninit(&gh);
 		return d;
 	}
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2014-07-18 10:37 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-07-18 10:37 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are the current set of small fixes relating to GFS2.

This patch set contains two minor docs/spelling fixes, some fixes for
flock, a change to use GFP_NOFS to avoid recursion on a rarely used code
path and a fix for a race relating to the glock lru,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2014-01-02 12:28 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2014-01-02 12:28 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here is a set of small fixes for GFS2. There is a fix to drop
s_umount which is copied in from the core vfs, two patches
relate to a hard to hit "use after free" and memory leak.
Two patches related to using DIO and buffered I/O on the same
file to ensure correct operation in relation to glock state
changes. The final patch adds an RCU read lock to ensure
correct locking on an error path,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2013-11-22 10:35 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2013-11-22 10:35 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a couple of very small, but important, fixes,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2013-08-19  8:48 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2013-08-19  8:48 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Out of these fives patches, the one for ensuring that the number of
revokes is not exceeded, and the one for checking the glock is not
already held in gfs2_getxattr are the two most important. The latter
can be triggered by selinux.

The other three patches are very small and fix mostly fairly
trivial issues,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2013-06-04 13:40 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2013-06-04 13:40 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

There are four patches this time. The first fixes a problem where the
wrong descriptor type was being written into the log for journaled data
blocks. The second fixes a race relating to the deallocation of allocator
data. The third provides a fallback if kmalloc is unable to satisfy a
request to allocate a directory hash table. The fourth fixes the iopen
glock caching so that inodes are deleted in a more timely manner after
rmdir/unlink,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2013-05-24 13:37 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2013-05-24 13:37 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

This time there are just four fixes. There are a couple of minor updates
to the quota code, a fix for KConfig to ensure that only valid combinations
including GFS2 can be built, and a fix for a typo affecting end i/o
processing when writing the journal.

Also, there is a temporary fix for a performance regression relating to
block reservations and directories. A longer fix will be applied in
due course, but this deals with the most immediate problem for now,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2012-11-07 10:15 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2012-11-07 10:15 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a number of GFS2 bug fixes. There are three from Andy Price
which fix various issues spotted by automated code analysis. There are two
from Lukas Czerner fixing my mistaken assumptions as to how FITRIM
should work. Finally Ben Marzinski has fixed a bug relating to mmap and
atime and also a bug relating to a locking issue in the transaction code.

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2012-09-13  9:42 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2012-09-13  9:42 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

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.

The first patch resolves an issue with write sizes of greater than
32 bits with the size hinting code. The second ensures that the
allocation data structure is initialised when using xattrs and the
third takes into account allocations which may have been made by
other nodes which affect a reservation on the local node,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2012-04-11  8:56 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2012-04-11  8:56 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are four fixes for issues that have come up since the last
merge window,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2012-02-28 11:11 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2012-02-28 11:11 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are four patches which provided fixes for bugs found in the
current upstream code. Please see individual patches for
descriptions,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2011-07-14  8:21 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2011-07-14  8:21 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

The following three fixes should help ensure that 3.0 is the best
release yet, GFS2-wise at least. I've had the first two queued for
some time waiting for the final one of this set. All three are relatively
short, although the third is a bit longer than the others, mainly
due to the extra comments added describing the inode eviction process,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2011-05-23 12:39 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2011-05-23 12:39 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a couple of small fixes which just missed the previous pull
request. Both fairly short and self-explanatory,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2011-04-19  8:40 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2011-04-19  8:40 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are four fixes for GFS2. See the individual patches for the detailed
descriptions,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2010-07-15 13:57 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2010-07-15 13:57 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a few small fixes for GFS2,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2010-05-25  8:21 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2010-05-25  8:21 UTC (permalink / raw)
  To: cluster-devel, linux-kernel

Hi,

These are three important, but relatively small, bug fixes for GFS2.
The first prevents a kernel BUG triggering in a relatively unlikely
(but possible) scenario when a log flush caused by glock demotion
races with a log flush from some other initiator (e.g. fsync).

The second and third patches add extra conditions to two areas
of code. This makes their behaviour match ext3 in those cases,

Steve.



^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2010-02-04  9:46 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2010-02-04  9:46 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Hi,

Here are a couple of patches which between them fix a problem where
occasionally it was possible for the GFS2 module to be unloaded
before all the glocks were deallocated, which, needless to say, made
the slab allocator unhappy,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2010-01-11  9:11 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2010-01-11  9:11 UTC (permalink / raw)
  To: linux-kernel, cluster-devel

Here are four small fixes for GFS2. Assuming that nobody spots
any errors, I'll be sending a pull request for these shortly,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

* GFS2: Pre-pull patch posting (fixes)
@ 2009-07-30 13:45 Steven Whitehouse
  0 siblings, 0 replies; 25+ messages in thread
From: Steven Whitehouse @ 2009-07-30 13:45 UTC (permalink / raw)
  To: cluster-devel, linux-kernel

Hi,

Here is the current content of the GFS2 -fixes git tree. Nothing
very exciting this time... some fixes for issues we've
had relating to flushing glocks/memory usage, plus a couple of
other fixes relating to statfs and the timely removal of inodes
which have been unlinked on a remote node,

Steve.


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2014-09-15  9:34 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-15  9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2014-09-15  9:32 ` [PATCH 1/6] GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts Steven Whitehouse
2014-09-15  9:32 ` [PATCH 2/6] GFS2: Change maxlen variables to size_t Steven Whitehouse
2014-09-15  9:32 ` [PATCH 3/6] GFS2: Request demote when a "try" flock fails Steven Whitehouse
2014-09-15  9:32 ` [PATCH 4/6] GFS2: Hash the negative dentry during inode lookup Steven Whitehouse
2014-09-15  9:32 ` [PATCH 5/6] GFS2: Don't use MAXQUOTAS value Steven Whitehouse
2014-09-15  9:32 ` [PATCH 6/6] GFS2: fix d_splice_alias() misuses Steven Whitehouse
  -- strict thread matches above, loose matches on Subject: below --
2014-07-18 10:37 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2014-01-02 12:28 Steven Whitehouse
2013-11-22 10:35 Steven Whitehouse
2013-08-19  8:48 Steven Whitehouse
2013-06-04 13:40 Steven Whitehouse
2013-05-24 13:37 Steven Whitehouse
2012-11-07 10:15 Steven Whitehouse
2012-09-13  9:42 Steven Whitehouse
2012-04-11  8:56 Steven Whitehouse
2012-02-28 11:11 Steven Whitehouse
2011-07-14  8:21 Steven Whitehouse
2011-05-23 12:39 Steven Whitehouse
2011-04-19  8:40 Steven Whitehouse
2010-07-15 13:57 Steven Whitehouse
2010-05-25  8:21 Steven Whitehouse
2010-02-04  9:46 Steven Whitehouse
2010-01-11  9:11 Steven Whitehouse
2009-07-30 13:45 Steven Whitehouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).