Commit 2a293b7d authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Nathan Scott

[XFS] All xfs_disk_dquot_t values are (as the name says) disk endian.

Before putting them into struct statfs they should be endian-swapped.

SGI-PV: 954580
SGI-Modid: xfs-linux-melb:xfs-kern:26550a
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
parent 64821324
...@@ -217,17 +217,24 @@ xfs_qm_statvfs( ...@@ -217,17 +217,24 @@ xfs_qm_statvfs(
return 0; return 0;
dp = &dqp->q_core; dp = &dqp->q_core;
limit = dp->d_blk_softlimit ? dp->d_blk_softlimit : dp->d_blk_hardlimit; limit = dp->d_blk_softlimit ?
be64_to_cpu(dp->d_blk_softlimit) :
be64_to_cpu(dp->d_blk_hardlimit);
if (limit && statp->f_blocks > limit) { if (limit && statp->f_blocks > limit) {
statp->f_blocks = limit; statp->f_blocks = limit;
statp->f_bfree = (statp->f_blocks > dp->d_bcount) ? statp->f_bfree =
(statp->f_blocks - dp->d_bcount) : 0; (statp->f_blocks > be64_to_cpu(dp->d_bcount)) ?
(statp->f_blocks - be64_to_cpu(dp->d_bcount)) : 0;
} }
limit = dp->d_ino_softlimit ? dp->d_ino_softlimit : dp->d_ino_hardlimit;
limit = dp->d_ino_softlimit ?
be64_to_cpu(dp->d_ino_softlimit) :
be64_to_cpu(dp->d_ino_hardlimit);
if (limit && statp->f_files > limit) { if (limit && statp->f_files > limit) {
statp->f_files = limit; statp->f_files = limit;
statp->f_ffree = (statp->f_files > dp->d_icount) ? statp->f_ffree =
(statp->f_ffree - dp->d_icount) : 0; (statp->f_files > be64_to_cpu(dp->d_icount)) ?
(statp->f_ffree - be64_to_cpu(dp->d_icount)) : 0;
} }
xfs_qm_dqput(dqp); xfs_qm_dqput(dqp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment