s the necessary
variables so that each journal has its own separate area for tracking
its journal replay.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 456d8fa..ef26ed9 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -
From: Dan Carpenter
This patch moves the dereference of "buffer" after the check for NULL.
The only place which passes a NULL parameter is gfs2_set_acl().
Cc: stable
Signed-off-by: Dan Carpenter
Signed-off-by: Steven Whitehouse
diff --git a/fs/posix_acl.c b/fs/posix_acl.c
ind
From: Joe Perches
vprintk use is not prefixed by a KERN_,
so emit these messages at KERN_ERR level.
Using %pV can save some code and allow fs_err to
be used, so do it.
Signed-off-by: Joe Perches
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/sys.c b/fs/gfs2/sys.c
index 256354c
From: Fabian Frederick
-All printk(KERN_foo converted to pr_foo().
-Messages updated to fit in 80 columns.
-fs_macros converted as well.
-fs_printk removed.
Signed-off-by: Fabian Frederick
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index ffcfdd1..39c7081
,
which itself leads to infinite loops in journal replay, both in the
kernel code and fsck.gfs2 code. This patch re-adds that call.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index edbd461..4a14d50 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2
From: Joe Perches
Add pr_fmt, remove embedded "GFS2: " prefixes.
This now consistently emits lower case "gfs2: " for each message.
Other miscellanea around these changes:
o Add missing newlines
o Coalesce formats
o Realign arguments
Signed-off-by: Joe Perches
Signed-off-b
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index ba94566..9c59ebe 100644
--- a/fs/gfs2/acl.c
+++ b/fs/gfs2/acl.c
@@ -86,7 +86,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl,
int type)
BUG_ON(name == NULL);
if (acl->a_co
From: Bob Peterson
Here is a revised patch based on Steve's feedback:
This patch eliminates function gfs2_set_mode which was only called in
one place, and always returned 0.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index 39
From: Bob Peterson
This patch eliminates function gfs2_security_init in favor of just
calling security_inode_init_security directly.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index b52ebf8..69ed57a 100644
--- a/fs/gfs2/inode.c
previous prototype for ‘update_rgrp_lvb’
[-Wmissing-prototypes]
Signed-off-by: Rashika Kheria
Reviewed-by: Josh Triplett
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index c13e4c5..f585746 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1102,7 +1102,7
also updated to show more detail about what went wrong.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/bmap.c b/fs/gfs2/bmap.c
index fe0500c..c62d4b9 100644
--- a/fs/gfs2/bmap.c
+++ b/fs/gfs2/bmap.c
@@ -1328,6 +1328,121 @@ int gfs2_file_dealloc(struct gfs2_inode *ip
From: Bob Peterson
This patch causes GFS2 to lock the i_mutex during fallocate. It
also switches from using a dinode's inode glock to using a local
holder like the other GFS2 i_operations.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/file.c b/fs
By reordering some of the assignments in gfs2_log_flush() it
is possible to remove one of the "if" statements as it can be
merged with one higher up the function.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index c1c9a29..edbd461 100644
--- a/fs/gfs2/l
From: Joe Perches
Convert a couple of uses of pr_ to fs_
Add and use fs_emerg.
Signed-off-by: Joe Perches
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 73ed925..27f9435 100644
--- a/fs/gfs2/quota.c
+++ b/fs/gfs2/quota.c
@@ -1083,8 +1083,8 @@ static int
problem in the past in the writeback code path, which
is why I've hesitated to do it here.
Signed-off-by: Steven Whitehouse
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index e0259a1..82a1456 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -94,6 +94,8 @@ static inline struct
-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index 9c59ebe..394dc55 100644
--- a/fs/gfs2/acl.c
+++ b/fs/gfs2/acl.c
@@ -85,7 +85,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl,
int type)
BUG_ON(name == NULL);
- if
From: Abhi Das
ENOSPC was being returned in slot_get inspite of successful
execution of the function. This patch fixes this return
code.
Signed-off-by: Abhi Das
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
index 27f9435..c4e 100644
--- a/fs/gfs2/quota.c
From: Abhi Das
gfs2_lookupi() can return NULL if the path to the root is broken by
another rename/rmdir. In this case gfs2_ok_to_move() must check for
this NULL pointer and return error.
Resolves: rhbz#1060246
Signed-off-by: Abhi Das
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2
Hi,
Here is the current content of the GFS2 -nmw tree for the
current merge window.
One of the main highlights this time, is not the patches themselves
but instead the widening contributor base. It is good to see that
interest is increasing in GFS2, and I'd like to thank all the
contributors to t
add the
readahead in due course.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index fa32655..ffcfdd1 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/dir.c
@@ -1684,6 +1684,14 @@ static int dir_new_leaf(struct inode *inode, const
struct qstr *name)
return 0
buffer lists are merged into
the currently accumulating transaction. That transaction then
is passed into the before and after commit functions at journal
flush time. Thus there should be no change in overall behaviour
yet.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/glops.c b/fs/gfs2
glock state
machine to finish the transition.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 52f7478..aec7f73 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1047,9 +1047,13 @@ int gfs2_glock_nq(struct gfs2_holde
A couple of "int" fields were being used as boolean values
so we can make them bitfields of one bit, and put them in
what might otherwise be a hole in the structure with 64
bit alignment.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index cf0e34
he
most common cases.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 5c52418..ec455b9 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -376,12 +376,11 @@ static void munge_mode_uid_gid(const struct gfs2_inode
*dip,
inode-&g
easier understand. Also, by reducing the
number of variables used to track the buffers being added
and removed from the journal, a number of error checks are
now no longer required.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 99aab64..d0c3928 100644
--- a
From: David Teigland
Log message is missing newline.
Signed-off-by: David Teigland
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/lock_dlm.c b/fs/gfs2/lock_dlm.c
index 2a6ba06..6b97d98 100644
--- a/fs/gfs2/lock_dlm.c
+++ b/fs/gfs2/lock_dlm.c
@@ -1102,7 +1102,7 @@ static void
rable improvement.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 9dcb977..1e1bda0 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -18,6 +18,7 @@
#include
#include
#include
+#include
#include
#include
@@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs
Now that rgrps use the address space which is part of the super
block, we need to update gfs2_mapping2sbd() to take account of
that. The only way to do that easily is to use a different set
of address_space_operations for rgrps.
Reported-by: Abhi Das
Tested-by: Abhi Das
Signed-off-by: Steven
Hi,
On Mon, 2014-03-31 at 01:19 -0500, Abhi Das wrote:
> ENOSPC was being returned in slot_get inspite of successful
> execution of the function. This patch fixes this return
> code.
>
> Signed-off-by: Abhi Das
> ---
> fs/gfs2/quota.c | 1 +
> 1 file changed, 1 insertion(+)
>
Now in the -nmw g
Hi,
On Tue, 2014-03-25 at 11:54 -0400, Bob Peterson wrote:
> Hi,
>
> This patch repurposes the (formerly useless) sd_jindex_mutex lock to
> prevent dlm's recover process from referencing and trying to recover a
> journal before a journal has been opened.
>
> Regards,
>
> Bob Peterson
> Red Hat
Hi,
On Tue, 2014-03-25 at 15:32 -0500, Benjamin Marzinski wrote:
> GFS wasn't ever updating mtime during mmaps to a file. This patch makes
> gfs_write_inode write the vfs inode attributes out to disk, so that they
> get updated when the mmap data is written back to disk.
>
> Signed-off-by: Benja
Hi,
On Wed, 2014-03-19 at 11:51 -0400, Bob Peterson wrote:
> Hi,
>
> Here is a revised patch based on Steve's feedback:
>
> This patch eliminates function gfs2_set_mode which was only called in
> one place, and always returned 0.
>
Now in the -nmw tree. Thanks,
Steve.
> Regards,
>
> Bob Peter
Hi,
Both patches now in the -nmw tree. Thanks,
Steve.
On Wed, 2014-03-19 at 09:37 -0400, Bob Peterson wrote:
> Hi,
>
> This patch eliminates function gfs2_security_init in favor of just
> calling security_inode_init_security directly.
>
> Regards,
>
> Bob Peterson
> Red Hat File Systems
>
>
Hi,
Yes, I think we might as well just merge it in, if there is only one
caller,
Steve.
On Wed, 2014-03-19 at 11:31 -0400, Bob Peterson wrote:
> Hi,
>
> This patch eliminates a return code from function gfs2_set_mode that
> was always 0. We could also just eliminate the function altogether
> be
Hi,
On Thu, 2014-03-13 at 17:23 +0100, Jan Kara wrote:
> On Thu 13-03-14 10:20:56, Ted Tso wrote:
> > Previously, the no-op "mount -o mount /dev/xxx" operation when the
> ^^remount
>
> > file system is already mounted read-write causes an implied,
> > uncondition
Hi,
On Wed, 2014-03-12 at 10:32 -0400, Bob Peterson wrote:
> Hi,
>
> This patch closes a small timing window whereby a request to hold the
> transaction glock can get stuck. The problem is that after the DLM has
> granted the lock, it can get into a state whereby it doesn't transition
> the glock
Hi,
On Wed, 2014-03-12 at 10:34 -0400, Bob Peterson wrote:
> Hi,
>
> Upstream commit 34cc178 changed a line of code from calling function
> log_flush_commit to calling log_write_header. This had the effect of
> eliminating a call to function log_flush_wait. That causes the journal
> to skip over
the new test
just aborts the rename without doing anything in that one particular
case,
Steve.
> - Original Message -
> > From: "Steven Whitehouse"
> > To: "Abhi Das"
> > Cc: cluster-devel@redhat.com
> > Sent: Wednesday, March 12, 2014 5:03
Hi,
On Wed, 2014-03-12 at 03:41 -0500, Abhi Das wrote:
> gfs2_lookupi() can return NULL if the path to the root is broken by
> another rename/rmdir. In this case gfs2_ok_to_move() must check for
> this NULL pointer and return error.
>
> Resolves: rhbz#1060246
> Signed-off-by: Abhi Das
Thanks fo
Hi,
On Thu, 2014-03-06 at 12:10 -0800, Joe Perches wrote:
> Joe Perches (3):
> gfs2: Use pr_ more consistently
> gfs2: Use fs_ more often
> gfs2: Convert gfs2_lm_withdraw to use fs_err
>
> fs/gfs2/dir.c| 14
> fs/gfs2/glock.c | 8 +++--
> fs/gfs2/lock_dlm.c | 9 ++
Hi,
On Thu, 2014-03-06 at 17:19 -0500, Bob Peterson wrote:
> Hi,
>
> If multiple nodes fail and their recovery work runs simultaneously, they
> would use the same unprotected variables in the superblock. For example,
> they would stomp on each other's revoked blocks lists, which resulted
> in fil
Hi,
Now in the -nmw tree. Thanks,
Steve.
On Tue, 2014-03-04 at 11:28 +0800, Jeff Liu wrote:
> From: Jie Liu
>
> Return -E2BIG rather than -EINVAL if hit the maximum size limits of
> ACLs, as the former errno is consistent with VFS xattr syscalls.
>
> This is pointed out by Dave Chinner in pre
Hi,
On Thu, 2014-03-06 at 08:46 -0500, Bob Peterson wrote:
> - Original Message -
> | +int gfs2_map_journal_extents(struct gfs2_sbd *sdp, struct gfs2_jdesc *jd)
> | +{
> | + u64 lblock = 0;
> | + u64 lblock_stop;
> | + struct gfs2_inode *ip = GFS2_I(jd->jd_inode);
> | + struct buff
>From b50f227bddf110ae4ea2df1ebdf7e282ad481803 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Mon, 3 Mar 2014 13:35:57 +
Subject: GFS2: Clean up journal extent mapping
This patch fixes a long standing issue in mapping the journal
extents. Most journals will consist of only a sin
>From b1ab1e44b4fa3df97a25cc9bcc3c99244ad6945b Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Tue, 25 Feb 2014 11:52:20 +
Subject: GFS2: Remove extra "if" in gfs2_log_flush()
By reordering some of the assignments in gfs2_log_flush() it
is possible to remove one of the &q
Hi,
On Fri, 2014-02-14 at 12:05 +0300, Dan Carpenter wrote:
> This patch moves the dereference of "buffer" after the check for NULL.
> The only place which passes a NULL parameter is gfs2_set_acl().
>
> Cc: stable
> Signed-off-by: Dan Carpenter
>
I've not heard anything from Al, so at least f
>From 928b2a81bde301e52f9dba2cae56e7b99ded07df Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Fri, 21 Feb 2014 21:55:33 +
Subject: GFS2: Move log buffer accounting to transaction
Now we have a master transaction into which other transactions
are merged, the accounting can be d
ings a bit cleaner ahead of doing that,
Steve.
>From d69a3c6561362a53d1be908ca343d899161d602c Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Fri, 21 Feb 2014 15:22:35 +
Subject: GFS2: Move log buffer lists into transaction
Over time, we hope to be able to improve the concurrency ava
>From 654a6d2f962edb7bf85973cfe93a04e24f56f902 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Fri, 21 Feb 2014 11:52:00 +
Subject: GFS2: Reduce struct gfs2_trans in size
A couple of "int" fields were being used as boolean values
so we can make them bitfields of one bit,
Hi,
On Mon, 2014-02-17 at 14:47 +, Andrew Price wrote:
> Kernel commit 01bcb0de introduces new gfs2_leaf fields. This patch adds
> support for those fields to libgfs2, conditional upon them being
> discovered in the configure stage. Includes meta.c changes by Steve
> Whitehouse.
>
> Signed-of
Hi,
On Fri, 2014-02-14 at 12:05 +0300, Dan Carpenter wrote:
> This patch moves the dereference of "buffer" after the check for NULL.
> The only place which passes a NULL parameter is gfs2_set_acl().
>
> Cc: stable
> Signed-off-by: Dan Carpenter
>
Al, are you going to take this, or should I pu
Hi,
On Sun, 2014-02-09 at 18:40 +0530, Rashika Kheria wrote:
> Mark functions as static in gfs2/rgrp.c because they are not used
> outside this file.
>
> This eliminates the following warning in gfs2/rgrp.c:
> fs/gfs2/rgrp.c:1092:5: warning: no previous prototype for ‘gfs2_rgrp_bh_get’
> [-Wmiss
Hi,
Now in the -nmw git tree. Thanks,
Steve.
On Thu, 2014-02-06 at 10:43 -0500, Bob Peterson wrote:
> Hi,
>
> This patch causes GFS2 to lock the i_mutex during fallocate. It
> also switches from using a dinode's inode glock to using a local
> holder like the other GFS2 i_operations.
>
> Regard
problem in the past in the writeback code path, which
is why I've hesitated to do it here.
Signed-off-by: Steven Whitehouse
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index e0259a1..82a1456 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -94,6 +94,8 @@ static inline struct
he
most common cases.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 5c52418..ec455b9 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -376,12 +376,11 @@ static void munge_mode_uid_gid(const struct gfs2_inode
*dip,
inode-&g
Hi,
Looks good to me,
Steve.
On Tue, 2014-02-04 at 12:25 +, Andrew Price wrote:
> mkstemp was creating the temporary mtab file with overly tight
> permissions causing /etc/mtab to end up with an 0600 mode instead of the
> regular 0644. This patch resets the mode to 0644 by calling fchmod on
Hi,
Both patches look good to me,
Steve.
On Mon, 2014-02-03 at 14:25 +, Andrew Price wrote:
> gfs2_edit savemeta wasn't converting sbd.fssize to bytes before converting it
> to a human-friendly number. This patch adds that multiplier along with a
> sanity
> test for savemeta/restoremeta.
>
Hi,
With the merge window now closed, I've updated the GFS2 -nmw git tree,
which now contains just one small patch,
Steve.
Hi,
On Wed, 2014-01-29 at 14:47 +, Andrew Price wrote:
> This adds some fields to the superblock and resource group header
> structures that we can use in rg size and address discovery in gfs2_grow
> and fsck.gfs2. They are not intended to be changed after mkfs time.
>
> sb_rgsize is the base
rable improvement.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
index 9dcb977..1e1bda0 100644
--- a/fs/gfs2/log.c
+++ b/fs/gfs2/log.c
@@ -18,6 +18,7 @@
#include
#include
#include
+#include
#include
#include
@@ -145,8 +146,10 @@ void gfs2_ail1_flush(struct gfs
Hi,
On Mon, 2014-01-27 at 15:03 +, Andrew Price wrote:
> On 27/01/14 14:47, Steven Whitehouse wrote:
> > Hi,
> >
> > These look like a step in the right direction - however patch 5 seems to
> > be missing in the set that I received,
>
> Hm strange, I didn
Hi,
These look like a step in the right direction - however patch 5 seems to
be missing in the set that I received,
Steve.
On Mon, 2014-01-27 at 14:17 +, Andrew Price wrote:
> compute_heightsize only uses the bsize member of sdp so just accept a
> bsize argument instead.
>
> Signed-off-by:
Hi,
On Tue, 2014-01-21 at 21:32 -0800, Paul E. McKenney wrote:
> On Mon, Jan 20, 2014 at 12:23:40PM +0000, Steven Whitehouse wrote:
> > Prior to this patch, GFS2 kept all the quotas for each
> > super block in a single linked list. This is rather slow
> > when there are la
Hi,
On Wed, 2014-01-22 at 01:06 -0500, Sasha Levin wrote:
> On 01/22/2014 12:32 AM, Paul E. McKenney wrote:
> > On Mon, Jan 20, 2014 at 12:23:40PM +0000, Steven Whitehouse wrote:
> >> >Prior to this patch, GFS2 kept all the quotas for each
> >> >super block in a s
grp
GFS2: Drop inadequate rgrps from the reservation tree
GFS2: Implement a "rgrp has no extents longer than X" scheme
GFS2: Increase i_writecount during gfs2_setattr_chown
GFS2: Small cleanup
J. Bruce Fields (1):
GFS2: revert "GFS2: d_splice_alias() can
Hi,
Here are the pending patches for the merge window which are currently
in the GFS2 tree.
The main topics this time are allocation, in the form of Bob's
improvements when searching resource groups and several updates
to quotas which should increase scalability. The quota changes
follow on from
also ensures that a multi-block reservation exists when needed
for quota change operations during the chown.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 4acc584..51cf10d 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.
extent information in the glock
so that is is available for a final invalidation. This patch uses
a field which is otherwise unused in rgrp glocks to do that, so
that we do not have to expand the size of a glock.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index
imum it should be able to
return -ELOOP in the case where inserting the given dentry would cause a
directory loop.
Signed-off-by: J. Bruce Fields
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index b8956f2..890588c 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2
Spotted by Andy Price. This should fix the odd messages from
lockdep caused by 70d4ee94b370c5ef54d0870600f16bd92d18013c
Signed-off-by: Steven Whitehouse
Cc: Andrew Price
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 94aab31..3b820b6 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs
vmalloc
fallback, just in case of memory fragmentation.
We are then able to use the kernel's own find/test/set/clear
bit functions, rather than rolling our own.
Signed-off-by: Steven Whitehouse
Cc: Abhijith Das
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 59d99ec..4b9aa5b 1
its of unreachable code and make this more
readable.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c
index 73f3e4e..cf858da 100644
--- a/fs/gfs2/aops.c
+++ b/fs/gfs2/aops.c
@@ -1080,30 +1080,22 @@ int gfs2_releasepage(struct page *page, gfp_t gfp_m
bug where the link used during
inode creation was adding requesting too many blocks in
some cases. This is harmless unless the fs is close to being
full.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index 2e5fc26..0b6be20 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2
XSI STREAMS option))" and since
> we don't support STREAMS it's probably fair game, but... what the hell?
Signed-off-by: Steven Whitehouse
Cc: Al Viro
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index 6f7a47c..ca0be6c 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
waits for it to give up its
reference on the quotas.
Signed-off-by: Steven Whitehouse
Cc: Abhijith Das
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index 3b820b6..27648e8 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -969,40 +969,6 @@ fail:
return error
-block reservations will fail.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index ba1ea67..0132816 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -93,6 +93,7 @@ struct gfs2_rgrpd {
struct gfs2_rgrp_lvb *rd_rgl
'gfs2_quota_cleanup':
>> fs/gfs2/quota.c:1361:4: error: implicit declaration of function 'vfree'
>> [-Werror=implicit-function-declaration]
vfree(sdp->sd_quota_bitmap);
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/quota.c b/fs/gfs2/quota.c
more complicated
operation as it requires changing a lot more code paths.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 1b192c8d..b792dbc 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -133,7 +133,8 @@ void gfs2_ail_flush(struct gfs2_glock *gl, bool
We recently fixed the writeback of pages prior to performing
direct i/o, however the initial fix was perhaps a bit heavy
handed. There is no need to invalidate pages if the direct i/o
is only a read, since they will be identical to what has been
flushed to disk anyway.
Signed-off-by: Steven
request the full reservation size in this case.
Potentially we could calculate more accurately the value to use
in other cases too, but that is much more complicated to do and
it is doubtful that the benefit would outweigh the extra cost
in code complexity.
Signed-off-by: Steven Whitehouse
diff
r the most recent insertion/deletion.
For backwards compatibility, any of these new fields which is
zero should be considered to be "unknown".
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index b2e5ebf..fa32655 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/di
There is only one place this is used, when reading in the quota
changes at mount time. It is not really required and much
simpler to just convert the fields from the on-disk structure
as required.
There should be no functional change as a result of this patch.
Signed-off-by: Steven Whitehouse
the subject
of a later patch, however this patch removes another barrier
to doing that.
Signed-off-by: Steven Whitehouse
Cc: Abhijith Das
diff --git a/fs/gfs2/incore.h b/fs/gfs2/incore.h
index 4b9aa5b..8c64e26 100644
--- a/fs/gfs2/incore.h
+++ b/fs/gfs2/incore.h
@@ -734,6 +734,7 @@ struct
this is no
longer used for its original role, it should be possible to
shrink the number of items on that list in due course and
remove the requirement to take qd_lock in qd_get.
Signed-off-by: Steven Whitehouse
Cc: Abhijith Das
Cc: Paul E. McKenney
diff --git a/fs/gfs2/incore.h b/fs/gfs2
From: Bob Peterson
This is a small cleanup to function gfs2_rgrp_go_lock so that it
uses rgd instead of its more complicated twin.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index e14e887..a1da213 100644
--- a/fs/gfs2/rgrp.c
single function
rather than repeating it three times.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c
index 9ac8f13..fa4624f 100644
--- a/fs/gfs2/inode.c
+++ b/fs/gfs2/inode.c
@@ -469,6 +469,28 @@ static void init_dinode(struct gfs2_inode *dip, struct
gfs2_inode *ip
to after label skip_rgrp so that the
disqualified reservation is properly removed from the tree, thus keeping
the rgrp rd_reserved count sane.
Signed-off-by: Bob Peterson
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 809fecd..1ccf89a 100644
--- a/fs/gfs2/
provide a performance improvement which will be
greater as the size of the directory increases.
Signed-off-by: Steven Whitehouse
diff --git a/fs/gfs2/dir.c b/fs/gfs2/dir.c
index 0b6be20..d5988aa 100644
--- a/fs/gfs2/dir.c
+++ b/fs/gfs2/dir.c
@@ -1659,26 +1659,34 @@ static int dir_new_leaf(struct
Since gfs2_inplace_reserve() is always called with a valid
alloc parms structure, there is no need to test for this
within the function itself - and in any case, after we've
all ready dereferenced it anyway.
Reported-by: Dan Carpenter
Signed-off-by: Steven Whitehouse
diff --git a/fs
akes it so that if we can't find a contiguous
chunk of blocks big enough to satisfy the sizehint, we'll use the
largest chunk of blocks we found that will still contain the write.
It does so by keeping track of the largest run of blocks within the
rgrp.
Signed-off-by: Bob Peterson
S
>From ac3beb6a5de048e7c0676f630ad2048a7b37b305 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Thu, 16 Jan 2014 10:31:13 +
Subject: GFS2: Don't use ENOBUFS when ENOMEM is the correct error code
Al Viro has tactfully pointed out that we are using the incorrect
error code in so
>From 1e3d36206bd6dfa34c85b073faba3d94ee6aba79 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Wed, 15 Jan 2014 12:57:25 +
Subject: GFS2: Fix kbuild test robot reported warning
Well I don't get the same warning locally as the kbuild
robot, but I guess this should fix the
>From 086352f1aa8d717eaf565074d6634c7bdd26aca0 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Tue, 14 Jan 2014 13:46:51 +
Subject: GFS2: No need to invalidate pages for a dio read
We recently fixed the writeback of pages prior to performing
direct i/o, however the initial fix
>From 39849d6946a84861a517c09ca0b691ce6d98c7a6 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Thu, 9 Jan 2014 16:34:04 +
Subject: GFS2: Add initialization for address space in super block
Spotted by Andy Price. This should fix the odd messages from
lockdep caused
Hi,
On Thu, 2014-01-09 at 11:43 +, Steven Whitehouse wrote:
> Hi,
>
> I'm trying to track down the cause of the lockdep report which I've
> included below. It is a bit odd since it doesn't say which lock it
> refers to, although my suspicions are that it is
Hi,
I'm trying to track down the cause of the lockdep report which I've
included below. It is a bit odd since it doesn't say which lock it
refers to, although my suspicions are that it is the mapping's
tree_lock. The other thing I know is that it goes away if I revert this
patch:
https://git.kern
>From 22b5a6c0c0cd5eb524d31c949d113c6683e37ec9 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Wed, 8 Jan 2014 11:05:29 +
Subject: GFS2: For exhash conversion, only one block is needed
For most cases, only a single new block is needed when we reach
the point of converting from stuf
>From 01bcb0dedbcd77a5ebb4f2dfd7d3196e3ad5cea5 Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Wed, 8 Jan 2014 12:14:57 +
Subject: GFS2: Add hints to directory leaf blocks
This patch adds four new fields to directory leaf blocks.
The intent is not to use them in the kernel its
Hi,
I've added this to the -nmw git tree. Thanks,
Steve.
On Mon, 2014-01-06 at 17:16 -0500, Bob Peterson wrote:
> Hi,
>
> This patch calls get_write_access in function gfs2_setattr_chown,
> which merely increases inode->i_writecount for the duration of the
> function. That will ensure that any
>From 534cf9ca553953e4c12fa5f0d23e543f9a6ccbaf Mon Sep 17 00:00:00 2001
From: Steven Whitehouse
Date: Mon, 6 Jan 2014 12:03:05 +
Subject: GFS2: Consolidate transaction blocks calculation for dir add
There are three cases where we need to calculate the number of
blocks to reserve i
501 - 600 of 2601 matches
Mail list logo