aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_mount.h
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2007-02-10 02:36:17 -0500
committerTim Shimmin <tes@sgi.com>2007-02-10 02:36:17 -0500
commitdbcabad19aa91dc9bc7176fd2853fa74f724cd2f (patch)
treeb65139c6c19541503444817af740ba265f8b838f /fs/xfs/xfs_mount.h
parent20f4ebf2bf2f57c1a9abb3655391336cc90314b3 (diff)
[XFS] Fix block reservation mechanism.
The block reservation mechanism has been broken since the per-cpu superblock counters were introduced. Make the block reservation code work with the per-cpu counters by syncing the counters, snapshotting the amount of available space and then doing a modifcation of the counter state according to the result. Continue in a loop until we either have no space available or we reserve some space. SGI-PV: 956323 SGI-Modid: xfs-linux-melb:xfs-kern:27895a Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_mount.h')
-rw-r--r--fs/xfs/xfs_mount.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 9a8e7151b65c..b65dae61eb8d 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -307,7 +307,7 @@ typedef struct xfs_icsb_cnts {
307#define XFS_ICSB_LAZY_COUNT (1 << 1) /* accuracy not needed */ 307#define XFS_ICSB_LAZY_COUNT (1 << 1) /* accuracy not needed */
308 308
309extern int xfs_icsb_init_counters(struct xfs_mount *); 309extern int xfs_icsb_init_counters(struct xfs_mount *);
310extern void xfs_icsb_sync_counters_lazy(struct xfs_mount *); 310extern void xfs_icsb_sync_counters_flags(struct xfs_mount *, int);
311 311
312#else 312#else
313#define xfs_icsb_init_counters(mp) (0) 313#define xfs_icsb_init_counters(mp) (0)