[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fixes for GFS2, Steve. The following changes since commit 372b1dbdd1fb5697890b937228d93cfd9c734c90: Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 (2014-08-20 18:33:21 -0500) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git tags/gfs2-fixes for you to fetch changes up to cfb2f9d5c921e38b0f12bb26fed10b87766d: GFS2: fix d_splice_alias() misuses (2014-09-12 20:58:55 +0100) 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. Al Viro (1): GFS2: fix d_splice_alias() misuses Benjamin Coddington (1): GFS2: Hash the negative dentry during inode lookup Bob Peterson (2): GFS2: Change maxlen variables to size_t GFS2: Request demote when a "try" flock fails Fabian Frederick (1): GFS2: fs/gfs2/super.c: replace seq_printf by seq_puts Jan Kara (1): GFS2: Don't use MAXQUOTAS value fs/gfs2/bmap.c | 9 + fs/gfs2/file.c | 15 --- fs/gfs2/incore.h | 7 +-- fs/gfs2/inode.c | 9 ++--- fs/gfs2/super.c | 20 ++-- 5 files changed, 38 insertions(+), 22 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
The following changes since commit 3c8fb50445833b93f69b6b703a29aae3523cad0c: Merge tag 'pm+acpi-3.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2014-06-19 18:58:57 -1000) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git tags/gfs2-fixes for you to fetch changes up to 27ff6a0f7f5bf500e9d2a8760c062789b52c551f: GFS2: fs/gfs2/rgrp.c: kernel-doc warning fixes (2014-07-18 11:15:14 +0100) 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. Bob Peterson (3): GFS2: Only wait for demote when last holder is dequeued GFS2: Allow flocks to use normal glock dq rather than dq_wait GFS2: Allow caching of glocks for flock Fabian Frederick (2): GFS2: replace count*size kzalloc by kcalloc GFS2: fs/gfs2/rgrp.c: kernel-doc warning fixes Geert Uytterhoeven (1): GFS2: memcontrol: Spelling s/invlidate/invalidate/ Steven Whitehouse (2): GFS2: Fix race in glock lru glock disposal GFS2: Use GFP_NOFS when allocating glocks fs/gfs2/file.c | 4 ++-- fs/gfs2/glock.c| 14 +- fs/gfs2/glops.c| 4 ++-- fs/gfs2/lock_dlm.c | 4 ++-- fs/gfs2/rgrp.c | 4 ++-- 5 files changed, 17 insertions(+), 13 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following bug fixes, Steve. - The following changes since commit 7e3528c3660a2e8602abc7858b0994d611f74bc3: slab.h: remove duplicate kmalloc declaration and fix kernel-doc warnings (2013-11-24 11:01:16 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git tags/gfs2-fixes for you to fetch changes up to 0b3a2c9968d453d5827e635a6f3d69129f70af66: GFS2: Fix unsafe dereference in dump_holder() (2014-01-02 12:18:04 +) 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. Bob Peterson (2): GFS2: Fix use-after-free race when calling gfs2_remove_from_ail GFS2: Fix slab memory leak in gfs2_bufdata Steven Whitehouse (3): GFS2: don't hold s_umount over blkdev_put GFS2: Fix incorrect invalidation for DIO/buffered I/O GFS2: Wait for async DIO in glock state changes Tetsuo Handa (1): GFS2: Fix unsafe dereference in dump_holder() fs/gfs2/aops.c | 30 ++ fs/gfs2/glock.c | 2 ++ fs/gfs2/glops.c | 10 -- fs/gfs2/log.c| 4 ++-- fs/gfs2/meta_io.c| 5 + fs/gfs2/ops_fstype.c | 12 +++- 6 files changed, 58 insertions(+), 5 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fixes, Steve. The following changes since commit ea0341e071527d5cec350917b01ab901af09d758: GFS2: Fix ref count bug relating to atomic_open (2013-11-21 18:47:57 +) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git tags/gfs2-fixes for you to fetch changes up to ea0341e071527d5cec350917b01ab901af09d758: GFS2: Fix ref count bug relating to atomic_open (2013-11-21 18:47:57 +) A couple of small, but important bug fixes for GFS2. The first one fixes a possible NULL pointer dereference, and the second one resolves a reference counting issue in one of the lesser used paths through atomic_open. fs/gfs2/glock.c |3 ++- fs/gfs2/inode.c |5 - 2 files changed, 6 insertions(+), 2 deletions(-) signature.asc Description: This is a digitally signed message part
Re: [Cluster-devel] GFS2: Pull request (fixes)
On Mon, Aug 19, 2013 at 2:26 AM, Steven Whitehouse wrote: > Oops, forgot to sign this when I sent it first, so here is a signed copy of > it. Please sign the git tag instead of the email. There are no sane tools to check email signatures etc, but git signed tags not only check your pgp key signature, they also allow you to just write the message into the tag. Also, please don't do crap like this: > are available in the git repository at: > > https://git.kernel.org/cgit/linux/kernel/git/steve/gfs2-3.0-fixes.git master Yeah, no. The proper address is git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes not that cgit web page. Linus
[Cluster-devel] GFS2: Pull request (fixes)
Oops, forgot to sign this when I sent it first, so here is a signed copy of it. Hi, Please consider pulling the following changes, Steve. - Out of these five 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. -- The following changes since commit 47188d39b5deeebf41f87a02af1b3935866364cf: Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 (2013-07-14 21:47:51 -0700) are available in the git repository at: https://git.kernel.org/cgit/linux/kernel/git/steve/gfs2-3.0-fixes.git master Benjamin Marzinski (1): GFS2: don't overrun reserved revokes Dan Carpenter (1): GFS2: alloc_workqueue() doesn't return an ERR_PTR Steven Whitehouse (2): GFS2: Fix typo in gfs2_create_inode() GFS2: Check for glock already held in gfs2_getxattr Tejun Heo (1): GFS2: WQ_NON_REENTRANT is meaningless and going away fs/gfs2/glock.c |8 fs/gfs2/glops.c | 18 +- fs/gfs2/inode.c |6 +- fs/gfs2/main.c |2 +- 4 files changed, 23 insertions(+), 11 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following changes, Steve. - Out of these five 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. -- The following changes since commit 47188d39b5deeebf41f87a02af1b3935866364cf: Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 (2013-07-14 21:47:51 -0700) are available in the git repository at: https://git.kernel.org/cgit/linux/kernel/git/steve/gfs2-3.0-fixes.git master Benjamin Marzinski (1): GFS2: don't overrun reserved revokes Dan Carpenter (1): GFS2: alloc_workqueue() doesn't return an ERR_PTR Steven Whitehouse (2): GFS2: Fix typo in gfs2_create_inode() GFS2: Check for glock already held in gfs2_getxattr Tejun Heo (1): GFS2: WQ_NON_REENTRANT is meaningless and going away fs/gfs2/glock.c |8 fs/gfs2/glops.c | 18 +- fs/gfs2/inode.c |6 +- fs/gfs2/main.c |2 +- 4 files changed, 23 insertions(+), 11 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fixes for GFS2, Steve. -- 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. - The following changes since commit aa4f608478acb7ed69dfcff4f3c404100b78ac49: Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k (2013-06-03 18:09:42 +0900) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Bob Peterson (4): GFS2: Set log descriptor type for jdata blocks GFS2: Increase i_writecount during gfs2_setattr_size GFS2: Fall back to vmalloc if kmalloc fails for dir hash tables GFS2: Don't cache iopen glocks fs/gfs2/bmap.c | 17 + fs/gfs2/dir.c | 43 +-- fs/gfs2/file.c | 19 +-- fs/gfs2/inode.c |1 + fs/gfs2/lops.c |4 +++- fs/gfs2/rgrp.c |4 +++- fs/gfs2/super.c |6 +- 7 files changed, 71 insertions(+), 23 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fixes, Steve. 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. The following changes since commit c7788792a5e7b0d5d7f96d0766b4cb6112d47d75: Linux 3.10-rc2 (2013-05-20 14:37:38 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Bob Peterson (2): GFS2: two minor quota fixups GFS2: Use single-block reservations for directories Randy Dunlap (1): GFS2: fix DLM depends to fix build errors Steven Whitehouse (1): GFS2: Fix typo in gfs2_log_end_write loop fs/gfs2/Kconfig |2 +- fs/gfs2/lops.c |2 +- fs/gfs2/quota.c |4 ++-- fs/gfs2/rgrp.c |9 +++-- 4 files changed, 11 insertions(+), 6 deletions(-) signature.asc Description: This is a digitally signed message part
Re: [Cluster-devel] GFS2: Pull request (fixes)
Hi, I've dropped out the patch which shouldn't have made it into the previous pull request, so this set should be ok now. Apologies for not spotting that issue sooner, Steve. - 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(), one patch which fixes a problem during "withdraw" and a fix for discards/FITRIM when using 4k sector sized devices. - The following changes since commit 66ade474237745a57b7e87da9a93c7ec69fd52bb: Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm (2013-04-03 16:15:17 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master 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 malloc failed in gfs2_rs_alloc() fs/gfs2/file.c |5 - fs/gfs2/incore.h |1 + fs/gfs2/lock_dlm.c | 39 --- fs/gfs2/rgrp.c | 32 ++-- 4 files changed, 39 insertions(+), 38 deletions(-) signature.asc Description: This is a digitally signed message part
Re: [Cluster-devel] GFS2: Pull request (fixes)
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): > > GFS2: Fix unlock of fcntl locks during withdrawn state > > > > Steven Whitehouse (1): > > GFS2: Fix unlock of fcntl locks during withdrawn state > > Yes, sorry about that. I'll fix that up and resend the pull request in due course, Steve.
Re: [Cluster-devel] GFS2: Pull request (fixes)
On Fri, Apr 5, 2013 at 9:27 AM, 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): >> GFS2: Fix unlock of fcntl locks during withdrawn state >> >> Steven Whitehouse (1): >> GFS2: Fix unlock of fcntl locks during withdrawn state Looks like the summary line for one got leaked through an email follow-up to the other. So now the summary of the second commit is meaningless and doesn't actually describe it. Linus
Re: [Cluster-devel] GFS2: Pull request (fixes)
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): > GFS2: Fix unlock of fcntl locks during withdrawn state > > Steven Whitehouse (1): > GFS2: Fix unlock of fcntl locks during withdrawn state
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following changes, Steve. 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. The following changes since commit 66ade474237745a57b7e87da9a93c7ec69fd52bb: Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm (2013-04-03 16:15:17 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Akinobu Mita (1): GFS2: use memchr_inv Bob Peterson (1): GFS2: Issue discards in 512b sectors David Teigland (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/dlm/plock.c | 18 +++--- fs/gfs2/file.c |5 - fs/gfs2/incore.h |1 + fs/gfs2/lock_dlm.c | 39 --- fs/gfs2/rgrp.c | 32 ++-- 5 files changed, 54 insertions(+), 41 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fix. Since there is only one patch this time, I've attached it below rather than posting it separately, Steve. -- The following changes since commit 949db153b6466c6f7cad5a427ecea94985927311: Linux 3.8-rc5 (2013-01-25 11:57:28 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master David Teigland (1): GFS2: fix skip unlock condition fs/gfs2/lock_dlm.c |7 ++- 1 files changed, 6 insertions(+), 1 deletions(-) -- From d4e0bfec9b6fbb9b58640b44e01bb74ae0d29b22 Mon Sep 17 00:00:00 2001 From: David Teigland Date: Thu, 3 Jan 2013 17:52:07 -0500 Subject: [PATCH] GFS2: fix skip unlock condition The recent 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/gfs2/lock_dlm.c +++ b/fs/gfs2/lock_dlm.c @@ -281,6 +281,7 @@ static void gdlm_put_lock(struct gfs2_glock *gl) { struct gfs2_sbd *sdp = gl->gl_sbd; struct lm_lockstruct *ls = &sdp->sd_lockstruct; + int lvb_needs_unlock = 0; int error; if (gl->gl_lksb.sb_lkid == 0) { @@ -294,8 +295,12 @@ static void gdlm_put_lock(struct gfs2_glock *gl) gfs2_update_request_times(gl); /* don't want to skip dlm_unlock writing the lvb when lock is ex */ + + if (gl->gl_lksb.sb_lvbptr && (gl->gl_state == LM_ST_EXCLUSIVE)) + lvb_needs_unlock = 1; + if (test_bit(SDF_SKIP_DLM_UNLOCK, &sdp->sd_flags) && - gl->gl_lksb.sb_lvbptr && (gl->gl_state != LM_ST_EXCLUSIVE)) { + !lvb_needs_unlock) { gfs2_glock_free(gl); return; } -- 1.7.4 signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 fixes, Steve. --- Here are four small bug fixes for GFS2. There is no common theme here really, just a few items that were fixed recently. The first fixes lock name generation when the glock number is 0. The second fixes a race allocating reservation structures and the final two fix a performance issue by making small changes in the allocation code. --- The following changes since commit 4a490b78cb7e0e5efa44425df72a9fedc1c36366: Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux (2012-12-30 10:00:37 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Abhijith Das (1): GFS2: Fix race in gfs2_rs_alloc Bob Peterson (2): GFS2: Stop looking for free blocks at end of rgrp GFS2: Reset rd_last_alloc when it reaches the end of the rgrp Nathan Straz (1): GFS2: Initialize hex string to '0' fs/gfs2/lock_dlm.c |1 + fs/gfs2/rgrp.c | 35 --- 2 files changed, 21 insertions(+), 15 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 fixes, Steve. --- 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. The following changes since commit ddffeb8c4d0331609ef2581d84de4d763607bd37: Linux 3.7-rc1 (2012-10-14 14:41:04 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Andrew Price (3): GFS2: Fix an unchecked error from gfs2_rs_alloc GFS2: Fix possible null pointer deref in gfs2_rs_alloc GFS2: Clean up some unused assignments Benjamin Marzinski (2): GFS2: Don't call file_accessed() with a shared glock GFS2: Test bufdata with buffer locked and gfs2_log_lock held Lukas Czerner (2): GFS2: Require user to provide argument for FITRIM GFS2: Fix FITRIM argument handling fs/gfs2/file.c | 14 +- fs/gfs2/lops.c | 16 ++-- fs/gfs2/quota.c |7 +-- fs/gfs2/rgrp.c | 33 + fs/gfs2/super.c |3 ++- fs/gfs2/trans.c |8 6 files changed, 43 insertions(+), 38 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 fixes Steve. -- 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. The following changes since commit 0d7614f09c1ebdbaa1599a5aba7593f147bf96ee: Linux 3.6-rc1 (2012-08-02 16:38:10 -0700) are available 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 blocks fs/gfs2/file.c | 31 ++--- fs/gfs2/inode.c |8 +- fs/gfs2/rgrp.c | 66 +++--- 3 files changed, 61 insertions(+), 44 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
[Apologies - I don't think the first message got signed as it should have. Here is a second attempt...] Hi, Please consider pulling the following patches, Steve. -- The following changes since commit dd775ae2549217d3ae09363e3edb305d0fa19928: Linux 3.4-rc1 (2012-03-31 16:24:09 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Benjamin Poirier (1): GFS2: use depends instead of select in kconfig Bob Peterson (3): GFS2: put glock reference in error patch of read_rindex_entry GFS2: Make sure rindex is uptodate before starting transactions GFS2: Allow caching of rindex glock fs/gfs2/Kconfig |7 ++- fs/gfs2/aops.c |4 ++-- fs/gfs2/bmap.c |6 +- fs/gfs2/dir.c |4 fs/gfs2/inode.c | 13 +++-- fs/gfs2/rgrp.c |8 +--- fs/gfs2/xattr.c | 12 7 files changed, 41 insertions(+), 13 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following patches, Steve. -- The following changes since commit dd775ae2549217d3ae09363e3edb305d0fa19928: Linux 3.4-rc1 (2012-03-31 16:24:09 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Benjamin Poirier (1): GFS2: use depends instead of select in kconfig Bob Peterson (3): GFS2: put glock reference in error patch of read_rindex_entry GFS2: Make sure rindex is uptodate before starting transactions GFS2: Allow caching of rindex glock fs/gfs2/Kconfig |7 ++- fs/gfs2/aops.c |4 ++-- fs/gfs2/bmap.c |6 +- fs/gfs2/dir.c |4 fs/gfs2/inode.c | 13 +++-- fs/gfs2/rgrp.c |8 +--- fs/gfs2/xattr.c | 12 7 files changed, 41 insertions(+), 13 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following bug fixes, Steve. The following changes since commit 586c6e7013c8cbb8c91aaa6568ec349b1dc2c691: Merge tag 'ktest-fix-make-min-failed-build-for-real' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest (2012-02-27 15:43:05 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes.git master Bob Peterson (2): GFS2: Read in rindex if necessary during unlink GFS2: Ensure rindex is uptodate for fallocate Steven Whitehouse (2): GFS2: Fix race between lru_list and glock ref count GFS2: Read resource groups on mount fs/gfs2/glock.c | 14 ++ fs/gfs2/inode.c |5 + fs/gfs2/ops_fstype.c |5 + fs/gfs2/rgrp.c | 13 + 4 files changed, 25 insertions(+), 12 deletions(-) signature.asc Description: This is a digitally signed message part
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following patch. Since it is only one small patch I attached it below rather than posting it separately as usual, Steve. The following changes since commit e08dc1325feaf49eec392ee52feb2974ec3f5155: p9: avoid unused variable warning (2011-07-25 23:43:53 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (1): GFS2: Fix mount hang caused by certain access pattern to sysfs files fs/gfs2/ops_fstype.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- >From 19237039919088781b4191a00bdc1284d8fea1dd Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 26 Jul 2011 09:15:45 +0100 Subject: [PATCH] GFS2: Fix mount hang caused by certain access pattern to sysfs files Depending upon the order of userspace/kernel during the mount process, this can result in a hang without the _all version of the completion. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c index 516516e..3bc073a 100644 --- a/fs/gfs2/ops_fstype.c +++ b/fs/gfs2/ops_fstype.c @@ -1018,13 +1018,13 @@ hostdata_error: fsname++; if (lm->lm_mount == NULL) { fs_info(sdp, "Now mounting FS...\n"); - complete(&sdp->sd_locking_init); + complete_all(&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); + complete_all(&sdp->sd_locking_init); return ret; } -- 1.7.4
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following three fixes, Steve. The following changes since commit 620917de59eeb934b9f8cf35cc2d95c1ac8ed0fc: Linux 3.0-rc7 (2011-07-11 16:51:52 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: force a log flush when invalidating the rindex glock Steven Whitehouse (2): GFS2: Fix race during filesystem mount GFS2: Resolve inode eviction and ail list interaction bug fs/gfs2/aops.c |3 +++ fs/gfs2/glops.c |8 +--- fs/gfs2/incore.h |2 ++ fs/gfs2/log.c|1 + fs/gfs2/ops_fstype.c |3 +++ fs/gfs2/super.c | 36 ++-- fs/gfs2/sys.c|7 ++- 7 files changed, 50 insertions(+), 10 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, These two changes just missed out on the last pull request. Please consider pulling the following two fixes, Steve. - The following changes since commit c21fd1a8c68ce3f49b00caf10337169262cfb8ad: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 (2011-05-21 00:13:03 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (2): GFS2: Wipe directory hash table metadata when deallocating a directory GFS2: Wait properly when flushing the ail list fs/gfs2/bmap.c |2 ++ fs/gfs2/log.c | 29 ++--- fs/gfs2/rgrp.c |4 3 files changed, 32 insertions(+), 3 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following four GFS2 fixes, Steve. -- The following changes since commit a1b49cb7e2a7961ec3aa8b64860bf480d4ec9077: Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging (2011-04-17 17:37:02 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: directly write blocks past i_size Bob Peterson (2): GFS2: write_end error path fails to unlock transaction lock GFS2: filesystem hang caused by incorrect lock order Steven Whitehouse (1): GFS2: Don't try to deallocate unlinked inodes when mounted ro fs/gfs2/aops.c |2 +- fs/gfs2/dir.c|2 +- fs/gfs2/file.c | 58 + fs/gfs2/glops.c |4 +++ fs/gfs2/inode.c | 56 +++- fs/gfs2/inode.h |3 +- fs/gfs2/ops_fstype.c |2 +- fs/gfs2/rgrp.c |4 +- fs/gfs2/super.c | 14 +-- 9 files changed, 111 insertions(+), 34 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 bug fixes, Steve. -- The following changes since commit e6f597a1425b5af64917be3448b29e2d5a585ac8: staging: fix build failure in bcm driver (2011-01-17 17:39:39 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: remove iopen glocks from cache on failed deletes Steven Whitehouse (1): GFS2: Fix error path in gfs2_lookup_by_inum() fs/gfs2/inode.c | 72 -- fs/gfs2/inode.h |1 - fs/gfs2/super.c |1 + 3 files changed, 23 insertions(+), 51 deletions(-) - >From 23c3010808de86f21436eb822aacfa551bfc17e4 Mon Sep 17 00:00:00 2001 From: Benjamin Marzinski Date: Fri, 14 Jan 2011 22:39:16 -0600 Subject: [PATCH 1/2] GFS2: remove iopen glocks from cache on failed deletes When a file gets deleted on GFS2, if a node can't get an exclusive lock on the file's iopen glock, it punts on actually freeing up the space, because another node is using the file. When it does this, it needs to drop the iopen glock from its cache so that the other node can get an exclusive lock on it. Now, gfs2_delete_inode() sets GL_NOCACHE before dropping the shared lock on the iopen glock in preparation for grabbing it in the exclusive state. Since the node needs the glock in the exclusive state, dropping the shared lock from the cache doesn't slow down the case where no other nodes are using the file. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/super.c b/fs/gfs2/super.c index 16c2eca..ec73ed7 100644 --- a/fs/gfs2/super.c +++ b/fs/gfs2/super.c @@ -1336,6 +1336,7 @@ static void gfs2_evict_inode(struct inode *inode) if (error) goto out_truncate; + ip->i_iopen_gh.gh_flags |= GL_NOCACHE; gfs2_glock_dq_wait(&ip->i_iopen_gh); gfs2_holder_reinit(LM_ST_EXCLUSIVE, LM_FLAG_TRY_1CB | GL_NOCACHE, &ip->i_iopen_gh); error = gfs2_glock_nq(&ip->i_iopen_gh); -- 1.7.3.3 -- >From 24d9765fc18c7838ccdbb0d71fb706321d9b824c Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 18 Jan 2011 14:49:08 + Subject: [PATCH 2/2] GFS2: Fix error path in gfs2_lookup_by_inum() In the (impossible, except if there is fs corruption) error path in gfs2_lookup_by_inum() if the call to gfs2_inode_refresh() fails, it was leaving the function by calling iput() rather than iget_failed(). This would cause future lookups of the same inode to block forever. This patch fixes the problem by moving the call to gfs2_inode_refresh() into gfs2_inode_lookup() where iget_failed() is part of the error path already. Also this cleans up some unreachable code and makes gfs2_set_iop() static. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 2232b3c..7aa7d4f 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c @@ -74,16 +74,14 @@ static struct inode *gfs2_iget(struct super_block *sb, u64 no_addr) } /** - * GFS2 lookup code fills in vfs inode contents based on info obtained - * from directory entry inside gfs2_inode_lookup(). This has caused issues - * with NFS code path since its get_dentry routine doesn't have the relevant - * directory entry when gfs2_inode_lookup() is invoked. Part of the code - * segment inside gfs2_inode_lookup code needs to get moved around. + * gfs2_set_iop - Sets inode operations + * @inode: The inode with correct i_mode filled in * - * Clears I_NEW as well. - **/ + * GFS2 lookup code fills in vfs inode contents based on info obtained + * from directory entry inside gfs2_inode_lookup(). + */ -void gfs2_set_iop(struct inode *inode) +static void gfs2_set_iop(struct inode *inode) { struct gfs2_sbd *sdp = GFS2_SB(inode); umode_t mode = inode->i_mode; @@ -106,8 +104,6 @@ void gfs2_set_iop(struct inode *inode) inode->i_op = &gfs2_file_iops; init_special_inode(inode, inode->i_mode, inode->i_rdev); } - - unlock_new_inode(inode); } /** @@ -119,10 +115,8 @@ void gfs2_set_iop(struct inode *inode) * Returns: A VFS inode, or an error */ -struct inode *gfs2_inode_lookup(struct super_block *sb, - unsigned int type, - u64 no_addr, - u64 no_formal_ino) +struct inode *gfs2_inode_lookup(struct super_block *sb, unsigned int type, + u64 no_addr, u64 no_formal_ino) { struct inode *inode; struct gfs2_inode *ip; @@ -152,51 +146,37 @@ struct inode *gfs2_inode_lookup(struct super_block *sb, error = gfs2_glock_nq_init(io_gl, LM_ST_SHARED, GL_EXACT, &ip->i_iopen_gh)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fix, Steve. - The following changes since commit e53beacd23d9cb47590da6a7a7f6d417b941a994: Linux 2.6.37-rc2 (2010-11-15 18:31:02 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Abhijith Das (1): GFS2: Userland expects quota limit/warn/usage in 512b blocks fs/gfs2/quota.c | 15 --- 1 files changed, 8 insertions(+), 7 deletions(-) -- >From 14870b457524e745f1a118e17873d104b1a47b70 Mon Sep 17 00:00:00 2001 From: Abhijith Das Date: Thu, 18 Nov 2010 11:24:24 -0500 Subject: [PATCH] GFS2: Userland expects quota limit/warn/usage in 512b blocks Userland programs using the quotactl() syscall assume limit/warn/usage block counts in 512b basic blocks which were instead being read/written in fs blocksize in gfs2. With this patch, gfs2 correctly interacts with the syscall using 512b blocks. Signed-off-by: Abhi Das Reviewed-by: Christoph Hellwig Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c index 58a9b99..f606baf 100644 --- a/fs/gfs2/quota.c +++ b/fs/gfs2/quota.c @@ -631,6 +631,7 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc, struct fs_disk_quota *fdq) { struct inode *inode = &ip->i_inode; + struct gfs2_sbd *sdp = GFS2_SB(inode); struct address_space *mapping = inode->i_mapping; unsigned long index = loc >> PAGE_CACHE_SHIFT; unsigned offset = loc & (PAGE_CACHE_SIZE - 1); @@ -658,11 +659,11 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc, qd->qd_qb.qb_value = qp->qu_value; if (fdq) { if (fdq->d_fieldmask & FS_DQ_BSOFT) { - qp->qu_warn = cpu_to_be64(fdq->d_blk_softlimit); + qp->qu_warn = cpu_to_be64(fdq->d_blk_softlimit >> sdp->sd_fsb2bb_shift); qd->qd_qb.qb_warn = qp->qu_warn; } if (fdq->d_fieldmask & FS_DQ_BHARD) { - qp->qu_limit = cpu_to_be64(fdq->d_blk_hardlimit); + qp->qu_limit = cpu_to_be64(fdq->d_blk_hardlimit >> sdp->sd_fsb2bb_shift); qd->qd_qb.qb_limit = qp->qu_limit; } } @@ -1497,9 +1498,9 @@ static int gfs2_get_dqblk(struct super_block *sb, int type, qid_t id, fdq->d_version = FS_DQUOT_VERSION; fdq->d_flags = (type == QUOTA_USER) ? FS_USER_QUOTA : FS_GROUP_QUOTA; fdq->d_id = id; - fdq->d_blk_hardlimit = be64_to_cpu(qlvb->qb_limit); - fdq->d_blk_softlimit = be64_to_cpu(qlvb->qb_warn); - fdq->d_bcount = be64_to_cpu(qlvb->qb_value); + fdq->d_blk_hardlimit = be64_to_cpu(qlvb->qb_limit) << sdp->sd_fsb2bb_shift; + fdq->d_blk_softlimit = be64_to_cpu(qlvb->qb_warn) << sdp->sd_fsb2bb_shift; + fdq->d_bcount = be64_to_cpu(qlvb->qb_value) << sdp->sd_fsb2bb_shift; gfs2_glock_dq_uninit(&q_gh); out: @@ -1566,10 +1567,10 @@ static int gfs2_set_dqblk(struct super_block *sb, int type, qid_t id, /* If nothing has changed, this is a no-op */ if ((fdq->d_fieldmask & FS_DQ_BSOFT) && - (fdq->d_blk_softlimit == be64_to_cpu(qd->qd_qb.qb_warn))) + ((fdq->d_blk_softlimit >> sdp->sd_fsb2bb_shift) == be64_to_cpu(qd->qd_qb.qb_warn))) fdq->d_fieldmask ^= FS_DQ_BSOFT; if ((fdq->d_fieldmask & FS_DQ_BHARD) && - (fdq->d_blk_hardlimit == be64_to_cpu(qd->qd_qb.qb_limit))) + ((fdq->d_blk_hardlimit >> sdp->sd_fsb2bb_shift) == be64_to_cpu(qd->qd_qb.qb_limit))) fdq->d_fieldmask ^= FS_DQ_BHARD; if (fdq->d_fieldmask == 0) goto out_i; -- 1.7.2.3
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fix from the GFS2 -fixes tree, Steve. -- The following changes since commit 0143832cc96d0bf78486297aad5c8fb2c2ead02a: Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 (2010-11-13 10:00:15 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (1): GFS2: Fix inode deallocation race fs/gfs2/export.c | 46 ++--- fs/gfs2/glock.c | 21 fs/gfs2/inode.c | 152 - fs/gfs2/inode.h |4 +- fs/gfs2/rgrp.c | 91 5 files changed, 98 insertions(+), 216 deletions(-) [Just noticed that git request-pull -p doesn't include the description, so adding that in here] GFS2: Fix inode deallocation race This area of the code has always been a bit delicate due to the subtleties of lock ordering. The problem is that for "normal" alloc/dealloc, we always grab the inode locks first and the rgrp lock later. In order to ensure no races in looking up the unlinked, but still allocated inodes, we need to hold the rgrp lock when we do the lookup, which means that we can't take the inode glock. The solution is to borrow the technique already used by NFS to solve what is essentially the same problem (given an inode number, look up the inode carefully, checking that it really is in the expected state). We cannot do that directly from the allocation code (lock ordering again) so we give the job to the pre-existing delete workqueue and carry on with the allocation as normal. If we find there is no space, we do a journal flush (required anyway if space from a deallocation is to be released) which should block against the pending deallocations, so we should always get the space back. Signed-off-by: Steven Whitehouse diff --git a/fs/gfs2/export.c b/fs/gfs2/export.c index 06d5827..5ab3839 100644 --- a/fs/gfs2/export.c +++ b/fs/gfs2/export.c @@ -138,10 +138,8 @@ static struct dentry *gfs2_get_dentry(struct super_block *sb, struct gfs2_inum_host *inum) { struct gfs2_sbd *sdp = sb->s_fs_info; - struct gfs2_holder i_gh; struct inode *inode; struct dentry *dentry; - int error; inode = gfs2_ilookup(sb, inum->no_addr); if (inode) { @@ -152,52 +150,16 @@ static struct dentry *gfs2_get_dentry(struct super_block *sb, goto out_inode; } - error = gfs2_glock_nq_num(sdp, inum->no_addr, &gfs2_inode_glops, - LM_ST_SHARED, LM_FLAG_ANY, &i_gh); - if (error) - return ERR_PTR(error); - - error = gfs2_check_blk_type(sdp, inum->no_addr, GFS2_BLKST_DINODE); - if (error) - goto fail; - - inode = gfs2_inode_lookup(sb, DT_UNKNOWN, inum->no_addr, 0); - if (IS_ERR(inode)) { - error = PTR_ERR(inode); - goto fail; - } - - error = gfs2_inode_refresh(GFS2_I(inode)); - if (error) { - iput(inode); - goto fail; - } - - /* Pick up the works we bypass in gfs2_inode_lookup */ - if (inode->i_state & I_NEW) - gfs2_set_iop(inode); - - if (GFS2_I(inode)->i_no_formal_ino != inum->no_formal_ino) { - iput(inode); - goto fail; - } - - error = -EIO; - if (GFS2_I(inode)->i_diskflags & GFS2_DIF_SYSTEM) { - iput(inode); - goto fail; - } - - gfs2_glock_dq_uninit(&i_gh); + inode = gfs2_lookup_by_inum(sdp, inum->no_addr, &inum->no_formal_ino, + GFS2_BLKST_DINODE); + if (IS_ERR(inode)) + return ERR_CAST(inode); out_inode: dentry = d_obtain_alias(inode); if (!IS_ERR(dentry)) dentry->d_op = &gfs2_dops; return dentry; -fail: - gfs2_glock_dq_uninit(&i_gh); - return ERR_PTR(error); } static struct dentry *gfs2_fh_to_dentry(struct super_block *sb, struct fid *fid, diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 8777885..f92c177 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c @@ -686,21 +686,20 @@ static void delete_work_func(struct work_struct *work) { struct gfs2_glock *gl = container_of(work, struct gfs2_glock, gl_delete); struct gfs2_sbd *sdp = gl->gl_sbd; - struct gfs2_inode *ip = NULL; + struct gfs2_inode *ip; struct inode *inode; - u64 no_addr = 0; + u64 no_addr = gl->gl_name.ln_number; + + ip = gl->gl_object; + /* Note: Unsafe to dereference ip as we don't hold right refs/locks */ - spin_lock(&gl->gl_spin); - ip = (struct gfs2_inode *)gl->gl_object; if (ip) -
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following (very small!) patch, Steve. -- The following changes since commit 03a7ab083e4d619136d6f07ce70fa9de0bc436fc: Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 (2010-09-16 12:59:11 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (1): GFS2: gfs2_logd should be using interruptible waits fs/gfs2/log.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c index cde1248..ac750bd 100644 --- a/fs/gfs2/log.c +++ b/fs/gfs2/log.c @@ -932,7 +932,7 @@ int gfs2_logd(void *data) do { prepare_to_wait(&sdp->sd_logd_waitq, &wait, - TASK_UNINTERRUPTIBLE); + TASK_INTERRUPTIBLE); if (!gfs2_ail_flush_reqd(sdp) && !gfs2_jrnl_flush_reqd(sdp) && !kthread_should_stop())
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 fixes, Steve. The following changes since commit 2f7989efd4398d92b8adffce2e07dd043a0895fe: Merge master.kernel.org:/home/rmk/linux-2.6-arm (2010-07-14 17:28:13 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Abhijith Das (1): GFS2: BUG in gfs2_adjust_quota Bob Peterson (4): GFS2: O_TRUNC not working on stuffed files across cluster GFS2: recovery stuck on transaction lock GFS2: Fix kernel NULL pointer dereference by dlm_astd GFS2: rename causes kernel Oops fs/gfs2/bmap.c |1 + fs/gfs2/dir.c |2 +- fs/gfs2/glock.c | 10 ++ fs/gfs2/inode.c | 12 fs/gfs2/quota.c |8 +++- 5 files changed, 23 insertions(+), 10 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following three GFS2 fixes, Steve. --- The following changes since commit d7dbf4ffee1c7a17e2e5b5f01efe76fbd1671db6: Linus Torvalds (1): Merge branch 'for-linus' of git://git.kernel.org/.../ryusuke/nilfs2 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Bob Peterson (1): GFS2: Rework reclaiming unlinked dinodes Steven Whitehouse (2): GFS2: Don't "get" xattrs for ACLs when ACLs are turned off GFS2: Fix permissions checking for setflags ioctl() fs/gfs2/acl.c |4 fs/gfs2/file.c |7 +++ fs/gfs2/inode.c | 54 +- fs/gfs2/inode.h |3 +-- fs/gfs2/log.c |2 +- fs/gfs2/log.h | 29 +++-- fs/gfs2/rgrp.c | 20 7 files changed, 65 insertions(+), 54 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following small fixes, Steve. -- The following changes since commit 57d54889cd00db2752994b389ba714138652e60c: Linus Torvalds (1): Linux 2.6.34-rc1 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: Allow the number of committed revokes to temporarily be negative Christoph Hellwig (1): GFS2: do not select QUOTA Sachin Prabhu (1): GFS2: Skip check for mandatory locks when unlocking fs/gfs2/Kconfig |1 - fs/gfs2/file.c |2 +- fs/gfs2/incore.h |2 +- fs/gfs2/log.c|3 +-- 4 files changed, 3 insertions(+), 5 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following changes, Steve. - The following changes since commit 676ad585531e965416fd958747894541dabcec96: Linus Torvalds (1): Merge branch 'for-linus' of git://git.kernel.org/.../bp/bp are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Abhijith Das (1): GFS2: Fix error code Steven Whitehouse (1): GFS2: Fix bmap allocation corner-case bug fs/gfs2/bmap.c |2 +- fs/gfs2/ops_fstype.c |2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following two changes, Steve. The following changes since commit 1a45dcfe2525e9432cb4aba461d4994fc2befe42: Linus Torvalds (1): Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (2): GFS2: Wait for unlock completion on umount GFS2: Extend umount wait coverage to full glock lifetime fs/gfs2/glock.c |4 fs/gfs2/glock.h |2 +- fs/gfs2/incore.h |2 ++ fs/gfs2/lock_dlm.c | 11 --- fs/gfs2/ops_fstype.c | 12 +++- fs/gfs2/super.c |1 + 6 files changed, 27 insertions(+), 5 deletions(-)
[Cluster-devel] [GFS2] Pull request (fixes)
Hi, Please consider pulling the following patches, Steve. The following changes since commit 066000dd856709b6980123eb39b957fe26993f7b: Ananth N Mavinakayanahalli (1): Revert "x86, apic: Use logical flat on intel with <= 8 logical cpus" are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: Don't withdraw on partial rindex entries OGAWA Hirofumi (1): GFS2: Fix refcnt leak on gfs2_follow_link() error path Steven Whitehouse (2): GFS2: Fix previous patch GFS2: Use GFP_NOFS for alloc structure fs/gfs2/ops_inode.c |3 ++- fs/gfs2/rgrp.c |8 ++-- 2 files changed, 4 insertions(+), 7 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 bug fixes, Steve. The following changes since commit 74d2e4f8d79ae0c4b6ec027958d5b18058662eea: Linus Torvalds (1): Linux 2.6.33-rc3 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (4): GFS2: Ensure uptodate inode size when using O_APPEND GFS2: Fix locking bug in rename GFS2: Fix gfs2_xattr_acl_chmod() GFS2: Use MAX_LFS_FILESIZE for meta inode size fs/gfs2/file.c | 38 -- fs/gfs2/meta_io.c |2 +- fs/gfs2/ops_inode.c |6 -- fs/gfs2/xattr.c | 21 +++-- 4 files changed, 52 insertions(+), 15 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following fix, Steve. The following changes since commit 64f1607ffbbc772685733ea63e6f7f4183df1b16: Linus Torvalds (1): Linux 2.6.31-rc6 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (1): GFS2: Fix permissions on "recover" file fs/gfs2/sys.c | 20 ++-- 1 files changed, 10 insertions(+), 10 deletions(-) --- >From d7e623da1a757fbd8c117fa29190ca8bef14dab3 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 11 Aug 2009 11:20:11 +0100 Subject: [PATCH] GFS2: Fix permissions on "recover" file Although this file is only ever written and not read by userspace, it seems that the utils are opening this file O_RDWR, so we need to allow that. Also fixes the whitespace which seemed to be broken. Signed-off-by: Steven Whitehouse Cc: David Teigland --- fs/gfs2/sys.c | 20 ++-- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c index 23419dc..a7cbfbd 100644 --- a/fs/gfs2/sys.c +++ b/fs/gfs2/sys.c @@ -386,16 +386,16 @@ static ssize_t jid_show(struct gfs2_sbd *sdp, char *buf) #define GDLM_ATTR(_name,_mode,_show,_store) \ static struct gfs2_attr gdlm_attr_##_name = __ATTR(_name,_mode,_show,_store) -GDLM_ATTR(proto_name, 0444, proto_name_show, NULL); -GDLM_ATTR(block, 0644, block_show,block_store); -GDLM_ATTR(withdraw, 0644, withdraw_show, withdraw_store); -GDLM_ATTR(id, 0444, lkid_show, NULL); -GDLM_ATTR(jid, 0444, jid_show, NULL); -GDLM_ATTR(first, 0444, lkfirst_show, NULL); -GDLM_ATTR(first_done, 0444, first_done_show, NULL); -GDLM_ATTR(recover,0200, NULL, recover_store); -GDLM_ATTR(recover_done, 0444, recover_done_show, NULL); -GDLM_ATTR(recover_status, 0444, recover_status_show, NULL); +GDLM_ATTR(proto_name, 0444, proto_name_show, NULL); +GDLM_ATTR(block, 0644, block_show, block_store); +GDLM_ATTR(withdraw,0644, withdraw_show,withdraw_store); +GDLM_ATTR(id, 0444, lkid_show,NULL); +GDLM_ATTR(jid, 0444, jid_show, NULL); +GDLM_ATTR(first, 0444, lkfirst_show, NULL); +GDLM_ATTR(first_done, 0444, first_done_show, NULL); +GDLM_ATTR(recover, 0600, NULL, recover_store); +GDLM_ATTR(recover_done,0444, recover_done_show,NULL); +GDLM_ATTR(recover_status, 0444, recover_status_show, NULL); static struct attribute *lock_module_attrs[] = { &gdlm_attr_proto_name.attr, -- 1.6.2.5
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following changes, Steve. The following changes since commit 4be3bd7849165e7efa6b0b35a23d6a3598d97465: Linus Torvalds (1): Linux 2.6.31-rc4 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (5): GFS2: keep statfs info in sync on grows GFS2: Fix panic in glock memory shrinker GFS2: Don't put unlikely reclaim candidates on the reclaim list. GFS2: Fix incorrent statfs consistency check GFS2: remove dcache entries for remote deleted inodes Steven Whitehouse (2): GFS2: Shrink the shrinker GFS2: Don't try and dealloc own inode fs/gfs2/aops.c | 39 +++ fs/gfs2/glock.c | 138 +++-- fs/gfs2/glock.h |3 + fs/gfs2/glops.c | 21 fs/gfs2/incore.h |2 + fs/gfs2/rgrp.c | 23 -- fs/gfs2/super.c | 40 ++-- fs/gfs2/super.h |4 ++ 8 files changed, 195 insertions(+), 75 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following GFS2 fixes, Steve. The following changes since commit 091069740304c979f957ceacec39c461d0192158: Linus Torvalds (1): Linux 2.6.30-rc3 are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Steven Whitehouse (3): bitops: Add __ffs64 bitop GFS2: Fix bug in block allocation GFS2: Ensure that the inode goal block settings are updated fs/gfs2/rgrp.c | 13 ++--- include/linux/bitops.h | 19 +++ 2 files changed, 29 insertions(+), 3 deletions(-)
[Cluster-devel] GFS2: Pull request (fixes)
Hi, Please consider pulling the following small fixes, Steve. --- The following changes since commit ede6f5aea054d3fb67c78857f7abdee602302043: Linus Torvalds (1): Fix up 64-bit byte swaps for most 32-bit architectures are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git master Benjamin Marzinski (1): GFS2: Fix typo in gfs_page_mkwrite() Steven Whitehouse (2): GFS2: Set GFP_NOFS when allocating page on write GFS2: LSF and LBD are now one and the same fs/gfs2/Kconfig |2 +- fs/gfs2/ops_address.c |1 + fs/gfs2/ops_file.c|2 +- 3 files changed, 3 insertions(+), 2 deletions(-)