diff options
author | Arkadiusz Mi?kiewicz <arekm@maven.pl> | 2010-09-26 06:10:18 (GMT) |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2010-10-18 20:08:08 (GMT) |
commit | 6743099ce57a40509a86849a22317ed4b7516911 (patch) | |
tree | c26c8192713b02cc7a96a4094dcf896395cc7f81 /fs/xfs/xfs_fs.h | |
parent | 1a1a3e97bad42e92cd2f32e81c396c8ee0bddb28 (diff) | |
download | linux-6743099ce57a40509a86849a22317ed4b7516911.tar.xz |
xfs: Extend project quotas to support 32bit project ids
This patch adds support for 32bit project quota identifiers.
On disk format is backward compatible with 16bit projid numbers. projid
on disk is now kept in two 16bit values - di_projid_lo (which holds the
same position as old 16bit projid value) and new di_projid_hi (takes
existing padding) and converts from/to 32bit value on the fly.
xfs_admin (for existing fs), mkfs.xfs (for new fs) needs to be used
to enable PROJID32BIT support.
Signed-off-by: Arkadiusz MiĆkiewicz <arekm@maven.pl>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_fs.h')
-rw-r--r-- | fs/xfs/xfs_fs.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/xfs/xfs_fs.h b/fs/xfs/xfs_fs.h index 10f6093..8f6fc1a 100644 --- a/fs/xfs/xfs_fs.h +++ b/fs/xfs/xfs_fs.h @@ -293,9 +293,11 @@ typedef struct xfs_bstat { __s32 bs_extsize; /* extent size */ __s32 bs_extents; /* number of extents */ __u32 bs_gen; /* generation count */ - __u16 bs_projid; /* project id */ + __u16 bs_projid_lo; /* lower part of project id */ +#define bs_projid bs_projid_lo /* (previously just bs_projid) */ __u16 bs_forkoff; /* inode fork offset in bytes */ - unsigned char bs_pad[12]; /* pad space, unused */ + __u16 bs_projid_hi; /* higher part of project id */ + unsigned char bs_pad[10]; /* pad space, unused */ __u32 bs_dmevmask; /* DMIG event mask */ __u16 bs_dmstate; /* DMIG state info */ __u16 bs_aextents; /* attribute number of extents */ |