Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes

* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
GFS2: Userland expects quota limit/warn/usage in 512b blocks

+8 -7
+8 -7
fs/gfs2/quota.c
··· 631 struct fs_disk_quota *fdq) 632 { 633 struct inode *inode = &ip->i_inode; 634 struct address_space *mapping = inode->i_mapping; 635 unsigned long index = loc >> PAGE_CACHE_SHIFT; 636 unsigned offset = loc & (PAGE_CACHE_SIZE - 1); ··· 659 qd->qd_qb.qb_value = qp->qu_value; 660 if (fdq) { 661 if (fdq->d_fieldmask & FS_DQ_BSOFT) { 662 - qp->qu_warn = cpu_to_be64(fdq->d_blk_softlimit); 663 qd->qd_qb.qb_warn = qp->qu_warn; 664 } 665 if (fdq->d_fieldmask & FS_DQ_BHARD) { 666 - qp->qu_limit = cpu_to_be64(fdq->d_blk_hardlimit); 667 qd->qd_qb.qb_limit = qp->qu_limit; 668 } 669 } ··· 1498 fdq->d_version = FS_DQUOT_VERSION; 1499 fdq->d_flags = (type == QUOTA_USER) ? FS_USER_QUOTA : FS_GROUP_QUOTA; 1500 fdq->d_id = id; 1501 - fdq->d_blk_hardlimit = be64_to_cpu(qlvb->qb_limit); 1502 - fdq->d_blk_softlimit = be64_to_cpu(qlvb->qb_warn); 1503 - fdq->d_bcount = be64_to_cpu(qlvb->qb_value); 1504 1505 gfs2_glock_dq_uninit(&q_gh); 1506 out: ··· 1567 1568 /* If nothing has changed, this is a no-op */ 1569 if ((fdq->d_fieldmask & FS_DQ_BSOFT) && 1570 - (fdq->d_blk_softlimit == be64_to_cpu(qd->qd_qb.qb_warn))) 1571 fdq->d_fieldmask ^= FS_DQ_BSOFT; 1572 if ((fdq->d_fieldmask & FS_DQ_BHARD) && 1573 - (fdq->d_blk_hardlimit == be64_to_cpu(qd->qd_qb.qb_limit))) 1574 fdq->d_fieldmask ^= FS_DQ_BHARD; 1575 if (fdq->d_fieldmask == 0) 1576 goto out_i;
··· 631 struct fs_disk_quota *fdq) 632 { 633 struct inode *inode = &ip->i_inode; 634 + struct gfs2_sbd *sdp = GFS2_SB(inode); 635 struct address_space *mapping = inode->i_mapping; 636 unsigned long index = loc >> PAGE_CACHE_SHIFT; 637 unsigned offset = loc & (PAGE_CACHE_SIZE - 1); ··· 658 qd->qd_qb.qb_value = qp->qu_value; 659 if (fdq) { 660 if (fdq->d_fieldmask & FS_DQ_BSOFT) { 661 + qp->qu_warn = cpu_to_be64(fdq->d_blk_softlimit >> sdp->sd_fsb2bb_shift); 662 qd->qd_qb.qb_warn = qp->qu_warn; 663 } 664 if (fdq->d_fieldmask & FS_DQ_BHARD) { 665 + qp->qu_limit = cpu_to_be64(fdq->d_blk_hardlimit >> sdp->sd_fsb2bb_shift); 666 qd->qd_qb.qb_limit = qp->qu_limit; 667 } 668 } ··· 1497 fdq->d_version = FS_DQUOT_VERSION; 1498 fdq->d_flags = (type == QUOTA_USER) ? FS_USER_QUOTA : FS_GROUP_QUOTA; 1499 fdq->d_id = id; 1500 + fdq->d_blk_hardlimit = be64_to_cpu(qlvb->qb_limit) << sdp->sd_fsb2bb_shift; 1501 + fdq->d_blk_softlimit = be64_to_cpu(qlvb->qb_warn) << sdp->sd_fsb2bb_shift; 1502 + fdq->d_bcount = be64_to_cpu(qlvb->qb_value) << sdp->sd_fsb2bb_shift; 1503 1504 gfs2_glock_dq_uninit(&q_gh); 1505 out: ··· 1566 1567 /* If nothing has changed, this is a no-op */ 1568 if ((fdq->d_fieldmask & FS_DQ_BSOFT) && 1569 + ((fdq->d_blk_softlimit >> sdp->sd_fsb2bb_shift) == be64_to_cpu(qd->qd_qb.qb_warn))) 1570 fdq->d_fieldmask ^= FS_DQ_BSOFT; 1571 if ((fdq->d_fieldmask & FS_DQ_BHARD) && 1572 + ((fdq->d_blk_hardlimit >> sdp->sd_fsb2bb_shift) == be64_to_cpu(qd->qd_qb.qb_limit))) 1573 fdq->d_fieldmask ^= FS_DQ_BHARD; 1574 if (fdq->d_fieldmask == 0) 1575 goto out_i;