xfs
[Top] [All Lists]

Re: [PATCH] Don't double count reserved block changes on UP.

To: David Chinner <dgc@xxxxxxx>
Subject: Re: [PATCH] Don't double count reserved block changes on UP.
From: Lachlan McIlroy <lachlan@xxxxxxx>
Date: Wed, 23 Apr 2008 14:19:08 +1000
Cc: xfs-dev <xfs-dev@xxxxxxx>, xfs-oss <xfs@xxxxxxxxxxx>
In-reply-to: <20080422110052.GY103491721@xxxxxxx>
References: <20080422110052.GY103491721@xxxxxxx>
Reply-to: lachlan@xxxxxxx
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird 2.0.0.12 (X11/20080213)
Makes sense.  Looks good to me.

David Chinner wrote:
Don't double count reserved block changes on UP.

On uniprocessor machines, the incore superblock is used for
all in memory accounting of free blocks. in this situation,
changes to the reserved block count are accounted twice;
once directly and once via xfs_mod_incore_sb(). Seeing as
the modification on SMP is done via xfs_mod_incore_sb(),
make this the only update mechanism that UP uses as well.

Signed-off-by: Dave Chinner <dgc@xxxxxxx>
---
 fs/xfs/xfs_fsops.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/fs/xfs/xfs_fsops.c b/fs/xfs/xfs_fsops.c
index d3a0f53..c4f7c93 100644
--- a/fs/xfs/xfs_fsops.c
+++ b/fs/xfs/xfs_fsops.c
@@ -552,11 +552,8 @@ retry:
                        mp->m_resblks += free;
                        mp->m_resblks_avail += free;
                        fdblks_delta = -free;
-                       mp->m_sb.sb_fdblocks = XFS_ALLOC_SET_ASIDE(mp);
                } else {
                        fdblks_delta = -delta;
-                       mp->m_sb.sb_fdblocks =
-                               lcounter + XFS_ALLOC_SET_ASIDE(mp);
                        mp->m_resblks = request;
                        mp->m_resblks_avail += delta;
                }
@@ -587,7 +584,6 @@ out:
                if (error == ENOSPC)
                        goto retry;
        }
-
        return 0;
 }


<Prev in Thread] Current Thread [Next in Thread>