Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-15721

projid quota limit statfs() on directories only with PROJINHERIT

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • Lustre 2.16.0
    • None
    • None
    • 3
    • 9223372036854775807

      LU-9555 limited the data returned from statfs() (df) to the limits associated with a specific project quota if the directory has lli_projid set to a non-zero value.

      However, for consistency with ext4 and XFS (on which the project quota feature is based) this quota limit should only be imposed if the PROJINHERIT flag is set on the inode:

      static int ext4_statfs(struct dentry *dentry, struct kstatfs *buf)
      {
              :
              :
      #ifdef CONFIG_QUOTA
              if (ext4_test_inode_flag(dentry->d_inode, EXT4_INODE_PROJINHERIT) &&
                  sb_has_quota_limits_enabled(sb, PRJQUOTA))
                      ext4_statfs_project(sb, EXT4_I(dentry->d_inode)->i_projid, buf);
      #endif
      }
      
      int xfs_fs_statfs(struct dentry *dentry, struct kstatfs *statp)
      {
              :
              if ((ip->i_diflags & XFS_DIFLAG_PROJINHERIT) &&
                  ((mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_PQUOTA_ENFD))) ==
                                    (XFS_PQUOTA_ACCT|XFS_PQUOTA_ENFD))
                      xfs_qm_statvfs(ip, statp);
      }
      

            adilger Andreas Dilger
            adilger Andreas Dilger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: