* GFS2: Pre-pull patch posting (fixes)
@ 2009-07-30 13:45 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2010-01-11 9:11 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2010-02-04 9:46 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2010-05-25 8:21 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2010-07-15 13:57 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2011-04-19 8:40 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2011-05-23 12:39 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2011-07-14 8:21 Steven Whitehouse
2011-07-14 8:21 ` [PATCH 1/3] GFS2: force a log flush when invalidating the rindex glock Steven Whitehouse
` (2 more replies)
0 siblings, 3 replies; 22+ 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] 22+ messages in thread
* [PATCH 1/3] GFS2: force a log flush when invalidating the rindex glock
2011-07-14 8:21 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
@ 2011-07-14 8:21 ` Steven Whitehouse
2011-07-14 8:21 ` [PATCH 2/3] GFS2: Fix race during filesystem mount Steven Whitehouse
2011-07-14 8:21 ` [PATCH 3/3] GFS2: Resolve inode eviction and ail list interaction bug Steven Whitehouse
2 siblings, 0 replies; 22+ messages in thread
From: Steven Whitehouse @ 2011-07-14 8:21 UTC (permalink / raw)
To: linux-kernel, cluster-devel; +Cc: Benjamin Marzinski, Steven Whitehouse
From: Benjamin Marzinski <bmarzins@redhat.com>
Right now, there is nothing that forces the log to get flushed when a node
drops its rindex glock so that another node can grow the filesystem. If the
log doesn't get flushed, GFS2 can corrupt the sd_log_le_rg list in the
following way.
A node puts an rgd on the list in rg_lo_add(), and then the rindex glock is
dropped so the other node can grow the filesystem. When the node reacquires the
rindex glock, that rgd gets deleted in clear_rgrpdi() before ever being
removed from the list by gfs2_log_flush().
This code simply forces a log flush when the rindex glock is invalidated,
solving the problem.
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 8ef70f4..712b722 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -221,8 +221,10 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
}
}
- if (ip == GFS2_I(gl->gl_sbd->sd_rindex))
+ if (ip == GFS2_I(gl->gl_sbd->sd_rindex)) {
+ gfs2_log_flush(gl->gl_sbd, NULL);
gl->gl_sbd->sd_rindex_uptodate = 0;
+ }
if (ip && S_ISREG(ip->i_inode.i_mode))
truncate_inode_pages(ip->i_inode.i_mapping, 0);
}
--
1.7.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 2/3] GFS2: Fix race during filesystem mount
2011-07-14 8:21 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2011-07-14 8:21 ` [PATCH 1/3] GFS2: force a log flush when invalidating the rindex glock Steven Whitehouse
@ 2011-07-14 8:21 ` Steven Whitehouse
2011-07-14 8:21 ` [PATCH 3/3] GFS2: Resolve inode eviction and ail list interaction bug Steven Whitehouse
2 siblings, 0 replies; 22+ messages in thread
From: Steven Whitehouse @ 2011-07-14 8:21 UTC (permalink / raw)
To: linux-kernel, cluster-devel; +Cc: Steven Whitehouse
There is a potential race during filesystem mounting which has recently
been reported. It occurs when the userland gfs_controld is able to
process requests fast enough that it tries to use the sysfs interface
before the lock module is properly initialised. This is a pretty
unusual case as normally the lock module initialisation is very quick
compared with gfs_controld.
This patch adds an interruptible completion which is used to ensure that
userland will wait for the initialisation of the lock module to
complete.
There are other potential solutions to this problem, but this is the
quickest at this stage and has been tested both with and without
mount.gfs2 present in the system.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Reported-by: David Booher <dbooher@adams.net>
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 0a064e9..81206e7 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -17,6 +17,7 @@
#include <linux/buffer_head.h>
#include <linux/rcupdate.h>
#include <linux/rculist_bl.h>
+#include <linux/completion.h>
#define DIO_WAIT 0x00000010
#define DIO_METADATA 0x00000020
@@ -546,6 +547,7 @@ struct gfs2_sbd {
struct gfs2_glock *sd_trans_gl;
wait_queue_head_t sd_glock_wait;
atomic_t sd_glock_disposal;
+ struct completion sd_locking_init;
/* Inode Stuff */
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 8ac9ae1..2a77071 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -72,6 +72,7 @@ static struct gfs2_sbd *init_sbd(struct super_block *sb)
init_waitqueue_head(&sdp->sd_glock_wait);
atomic_set(&sdp->sd_glock_disposal, 0);
+ init_completion(&sdp->sd_locking_init);
spin_lock_init(&sdp->sd_statfs_spin);
spin_lock_init(&sdp->sd_rindex_spin);
@@ -1017,11 +1018,13 @@ hostdata_error:
fsname++;
if (lm->lm_mount == NULL) {
fs_info(sdp, "Now mounting FS...\n");
+ complete(&sdp->sd_locking_init);
return 0;
}
ret = lm->lm_mount(sdp, fsname);
if (ret == 0)
fs_info(sdp, "Joined cluster. Now mounting FS...\n");
+ complete(&sdp->sd_locking_init);
return ret;
}
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index e20eab3..443cabc 100644
--- a/fs/gfs2/sys.c
+++ b/fs/gfs2/sys.c
@@ -338,6 +338,9 @@ static ssize_t lkfirst_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
rv = sscanf(buf, "%u", &first);
if (rv != 1 || first > 1)
return -EINVAL;
+ rv = wait_for_completion_killable(&sdp->sd_locking_init);
+ if (rv)
+ return rv;
spin_lock(&sdp->sd_jindex_spin);
rv = -EBUSY;
if (test_bit(SDF_NOJOURNALID, &sdp->sd_flags) == 0)
@@ -414,7 +417,9 @@ static ssize_t jid_store(struct gfs2_sbd *sdp, const char *buf, size_t len)
rv = sscanf(buf, "%d", &jid);
if (rv != 1)
return -EINVAL;
-
+ rv = wait_for_completion_killable(&sdp->sd_locking_init);
+ if (rv)
+ return rv;
spin_lock(&sdp->sd_jindex_spin);
rv = -EINVAL;
if (sdp->sd_lockstruct.ls_ops->lm_mount == NULL)
--
1.7.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* [PATCH 3/3] GFS2: Resolve inode eviction and ail list interaction bug
2011-07-14 8:21 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2011-07-14 8:21 ` [PATCH 1/3] GFS2: force a log flush when invalidating the rindex glock Steven Whitehouse
2011-07-14 8:21 ` [PATCH 2/3] GFS2: Fix race during filesystem mount Steven Whitehouse
@ 2011-07-14 8:21 ` Steven Whitehouse
2 siblings, 0 replies; 22+ messages in thread
From: Steven Whitehouse @ 2011-07-14 8:21 UTC (permalink / raw)
To: linux-kernel, cluster-devel; +Cc: Steven Whitehouse
This patch contains a few misc fixes which resolve a recently
reported issue. This patch has been a real team effort and has
received a lot of testing.
The first issue is that the ail lock needs to be held over a few
more operations. The lock thats added into gfs2_releasepage() may
possibly be a candidate for replacing with RCU at some future
point, but at this stage we've gone for the obvious fix.
The second issue is that gfs2_write_inode() can end up calling
a glock recursively when called from gfs2_evict_inode() via the
syncing code, so it needs a guard added.
The third issue is that we either need to not truncate the metadata
pages of inodes which have zero link count, but which we cannot
deallocate due to them still being in use by other nodes, or we need
to ensure that those pages have all made it through the journal and
ail lists first. This patch takes the former approach, but the
latter has also been tested and there is nothing to choose between
them performance-wise. So again, we could revise that decision
in the future.
Also, the inode eviction process is now better documented.
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Tested-by: Bob Peterson <rpeterso@redhat.com>
Tested-by: Abhijith Das <adas@redhat.com>
Reported-by: Barry J. Marson <bmarson@redhat.com>
Reported-by: David Teigland <teigland@redhat.com>
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 802ac5e..f9fbbe9 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -1069,6 +1069,7 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
return 0;
gfs2_log_lock(sdp);
+ spin_lock(&sdp->sd_ail_lock);
head = bh = page_buffers(page);
do {
if (atomic_read(&bh->b_count))
@@ -1080,6 +1081,7 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_mask)
goto not_possible;
bh = bh->b_this_page;
} while(bh != head);
+ spin_unlock(&sdp->sd_ail_lock);
gfs2_log_unlock(sdp);
head = bh = page_buffers(page);
@@ -1112,6 +1114,7 @@ not_possible: /* Should never happen */
WARN_ON(buffer_dirty(bh));
WARN_ON(buffer_pinned(bh));
cannot_release:
+ spin_unlock(&sdp->sd_ail_lock);
gfs2_log_unlock(sdp);
return 0;
}
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 712b722..2cca293 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -47,10 +47,10 @@ static void __gfs2_ail_flush(struct gfs2_glock *gl)
bd_ail_gl_list);
bh = bd->bd_bh;
gfs2_remove_from_ail(bd);
- spin_unlock(&sdp->sd_ail_lock);
-
bd->bd_bh = NULL;
bh->b_private = NULL;
+ spin_unlock(&sdp->sd_ail_lock);
+
bd->bd_blkno = bh->b_blocknr;
gfs2_log_lock(sdp);
gfs2_assert_withdraw(sdp, !buffer_busy(bh));
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 903115f..85c6292 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -903,6 +903,7 @@ void gfs2_meta_syncfs(struct gfs2_sbd *sdp)
if (gfs2_ail1_empty(sdp))
break;
}
+ gfs2_log_flush(sdp, NULL);
}
static inline int gfs2_jrnl_flush_reqd(struct gfs2_sbd *sdp)
diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c
index ed540e7..fb0edf7 100644
--- a/fs/gfs2/super.c
+++ b/fs/gfs2/super.c
@@ -757,13 +757,17 @@ static int gfs2_write_inode(struct inode *inode, struct writeback_control *wbc)
struct timespec atime;
struct gfs2_dinode *di;
int ret = -EAGAIN;
+ int unlock_required = 0;
/* Skip timestamp update, if this is from a memalloc */
if (current->flags & PF_MEMALLOC)
goto do_flush;
- ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
- if (ret)
- goto do_flush;
+ if (!gfs2_glock_is_locked_by_me(ip->i_gl)) {
+ ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
+ if (ret)
+ goto do_flush;
+ unlock_required = 1;
+ }
ret = gfs2_trans_begin(sdp, RES_DINODE, 0);
if (ret)
goto do_unlock;
@@ -780,7 +784,8 @@ static int gfs2_write_inode(struct inode *inode, struct writeback_control *wbc)
}
gfs2_trans_end(sdp);
do_unlock:
- gfs2_glock_dq_uninit(&gh);
+ if (unlock_required)
+ gfs2_glock_dq_uninit(&gh);
do_flush:
if (wbc->sync_mode == WB_SYNC_ALL)
gfs2_log_flush(GFS2_SB(inode), ip->i_gl);
@@ -1427,7 +1432,20 @@ out:
return error;
}
-/*
+/**
+ * gfs2_evict_inode - Remove an inode from cache
+ * @inode: The inode to evict
+ *
+ * There are three cases to consider:
+ * 1. i_nlink == 0, we are final opener (and must deallocate)
+ * 2. i_nlink == 0, we are not the final opener (and cannot deallocate)
+ * 3. i_nlink > 0
+ *
+ * If the fs is read only, then we have to treat all cases as per #3
+ * since we are unable to do any deallocation. The inode will be
+ * deallocated by the next read/write node to attempt an allocation
+ * in the same resource group
+ *
* We have to (at the moment) hold the inodes main lock to cover
* the gap between unlocking the shared lock on the iopen lock and
* taking the exclusive lock. I'd rather do a shared -> exclusive
@@ -1470,6 +1488,8 @@ static void gfs2_evict_inode(struct inode *inode)
if (error)
goto out_truncate;
+ /* Case 1 starts here */
+
if (S_ISDIR(inode->i_mode) &&
(ip->i_diskflags & GFS2_DIF_EXHASH)) {
error = gfs2_dir_exhash_dealloc(ip);
@@ -1493,13 +1513,16 @@ static void gfs2_evict_inode(struct inode *inode)
goto out_unlock;
out_truncate:
+ /* Case 2 starts here */
error = gfs2_trans_begin(sdp, 0, sdp->sd_jdesc->jd_blocks);
if (error)
goto out_unlock;
- gfs2_final_release_pages(ip);
+ /* Needs to be done before glock release & also in a transaction */
+ truncate_inode_pages(&inode->i_data, 0);
gfs2_trans_end(sdp);
out_unlock:
+ /* Error path for case 1 */
if (test_bit(HIF_HOLDER, &ip->i_iopen_gh.gh_iflags))
gfs2_glock_dq(&ip->i_iopen_gh);
gfs2_holder_uninit(&ip->i_iopen_gh);
@@ -1507,6 +1530,7 @@ out_unlock:
if (error && error != GLR_TRYFAILED && error != -EROFS)
fs_warn(sdp, "gfs2_evict_inode: %d\n", error);
out:
+ /* Case 3 starts here */
truncate_inode_pages(&inode->i_data, 0);
end_writeback(inode);
--
1.7.4
^ permalink raw reply related [flat|nested] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2012-02-28 11:11 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2012-04-11 8:56 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2012-09-13 9:42 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2012-11-07 10:15 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2013-05-24 13:37 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2013-06-04 13:40 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2013-08-19 8:48 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2013-11-22 10:35 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2014-01-02 12:28 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2014-07-18 10:37 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
* GFS2: Pre-pull patch posting (fixes)
@ 2014-09-15 9:32 Steven Whitehouse
0 siblings, 0 replies; 22+ 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] 22+ messages in thread
end of thread, other threads:[~2014-09-15 9:33 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-14 8:21 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2011-07-14 8:21 ` [PATCH 1/3] GFS2: force a log flush when invalidating the rindex glock Steven Whitehouse
2011-07-14 8:21 ` [PATCH 2/3] GFS2: Fix race during filesystem mount Steven Whitehouse
2011-07-14 8:21 ` [PATCH 3/3] GFS2: Resolve inode eviction and ail list interaction bug Steven Whitehouse
-- strict thread matches above, loose matches on Subject: below --
2014-09-15 9:32 GFS2: Pre-pull patch posting (fixes) Steven Whitehouse
2014-07-18 10:37 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-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).