aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_mount.h
diff options
context:
space:
mode:
authorDavid Chinner <dgc@sgi.com>2007-02-10 02:36:10 -0500
committerTim Shimmin <tes@sgi.com>2007-02-10 02:36:10 -0500
commit20f4ebf2bf2f57c1a9abb3655391336cc90314b3 (patch)
treed6081bf132eea97adbc13a1da980e75f4735141b /fs/xfs/xfs_mount.h
parentf74eaf59b36c0ad01f416b567f89c737bbf82bae (diff)
[XFS] Make growfs work for amounts greater than 2TB
The free block modification code has a 32bit interface, limiting the size the filesystem can be grown even on 64 bit machines. On 32 bit machines, there are other 32bit variables in transaction structures and interfaces that need to be expanded to allow this to work. SGI-PV: 959978 SGI-Modid: xfs-linux-melb:xfs-kern:27894a 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.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h
index 9c33af88514e..9a8e7151b65c 100644
--- a/fs/xfs/xfs_mount.h
+++ b/fs/xfs/xfs_mount.h
@@ -586,10 +586,11 @@ xfs_icsb_unlock(xfs_mount_t *mp)
586 586
587/* 587/*
588 * This structure is for use by the xfs_mod_incore_sb_batch() routine. 588 * This structure is for use by the xfs_mod_incore_sb_batch() routine.
589 * xfs_growfs can specify a few fields which are more than int limit
589 */ 590 */
590typedef struct xfs_mod_sb { 591typedef struct xfs_mod_sb {
591 xfs_sb_field_t msb_field; /* Field to modify, see below */ 592 xfs_sb_field_t msb_field; /* Field to modify, see below */
592 int msb_delta; /* Change to make to specified field */ 593 int64_t msb_delta; /* Change to make to specified field */
593} xfs_mod_sb_t; 594} xfs_mod_sb_t;
594 595
595#define XFS_MOUNT_ILOCK(mp) mutex_lock(&((mp)->m_ilock)) 596#define XFS_MOUNT_ILOCK(mp) mutex_lock(&((mp)->m_ilock))
@@ -607,9 +608,9 @@ extern int xfs_unmountfs(xfs_mount_t *, struct cred *);
607extern void xfs_unmountfs_close(xfs_mount_t *, struct cred *); 608extern void xfs_unmountfs_close(xfs_mount_t *, struct cred *);
608extern int xfs_unmountfs_writesb(xfs_mount_t *); 609extern int xfs_unmountfs_writesb(xfs_mount_t *);
609extern int xfs_unmount_flush(xfs_mount_t *, int); 610extern int xfs_unmount_flush(xfs_mount_t *, int);
610extern int xfs_mod_incore_sb(xfs_mount_t *, xfs_sb_field_t, int, int); 611extern int xfs_mod_incore_sb(xfs_mount_t *, xfs_sb_field_t, int64_t, int);
611extern int xfs_mod_incore_sb_unlocked(xfs_mount_t *, xfs_sb_field_t, 612extern int xfs_mod_incore_sb_unlocked(xfs_mount_t *, xfs_sb_field_t,
612 int, int); 613 int64_t, int);
613extern int xfs_mod_incore_sb_batch(xfs_mount_t *, xfs_mod_sb_t *, 614extern int xfs_mod_incore_sb_batch(xfs_mount_t *, xfs_mod_sb_t *,
614 uint, int); 615 uint, int);
615extern struct xfs_buf *xfs_getsb(xfs_mount_t *, int); 616extern struct xfs_buf *xfs_getsb(xfs_mount_t *, int);