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

'lfs quota -p ID' will create quota entry

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      Running a check with "lfs quota -p SOME_ID MOUNT" will create a new SOME_ID entry in the quota table if it doesn't already exist. It requires "lfs setquota --delete -p SOME_ID MOUNT" to delete this record again. The same happens for "lfs quota -u" and "lfs quota -g". Just querying the quota ID should not create an entry in the quota database, as this adds overhead and confusion about which IDs are actually in use, and could add a lot of overhead if some admin decides to run "for ID in {1..1000000}; do lfs quota -[ugp] $ID; done" to extract all of the quota information (until LU-14535 quota: get all quota info in LFS is available).

      [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
      qmt.testfs-QMT0000.md-0x0.glb-prj=
      global_pool0_md_prj
      - id:      0
        limits:  { hard:              0, soft:              0, granted:              0, time:               604800 }
      [root@centos7 tests]# lfs quota -p 1023 /mnt/testfs
      Disk quotas for prj 1023 (pid 1023):
           Filesystem  kbytes   quota   limit   grace   files   quota   limit   grace
          /mnt/testfs       0       0       0       -       0       0       0       -
      [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
      qmt.testfs-QMT0000.md-0x0.glb-prj=
      global_pool0_md_prj
      - id:      0
        limits:  { hard:              0, soft:              0, granted:              0, time:               604800 }
      - id:      1023
        limits:  { hard:              0, soft:              0, granted:              0, time:      281474976710656 }
      

      The "id: 1023" entry is also persistent after remount, so it is definitely created in the quota table and not just in memory.

      Attachments

        Issue Links

          Activity

            [LU-17396] 'lfs quota -p ID' will create quota entry
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LU-14535 [ LU-14535 ]
            adilger Andreas Dilger made changes -
            Description Original: Running a check with "{{lfs quota -p SOME_ID MOUNT}}" will create the {{SOME_ID}} a new entry in the quota table if it doesn't already exist. It requires "{{lfs setquota --delete -p SOME_ID MOUNT}}" to delete it again. The same happens for "{{lfs quota -u}}" and "{{lfs quota -g}}". Just querying the quota ID should not create an entry in the

            {noformat}
            [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
            qmt.testfs-QMT0000.md-0x0.glb-prj=
            global_pool0_md_prj
            - id: 0
              limits: { hard: 0, soft: 0, granted: 0, time: 604800 }
            [root@centos7 tests]# lfs quota -p 1023 /mnt/testfs
            Disk quotas for prj 1023 (pid 1023):
                 Filesystem kbytes quota limit grace files quota limit grace
                /mnt/testfs 0 0 0 - 0 0 0 -
            [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
            qmt.testfs-QMT0000.md-0x0.glb-prj=
            global_pool0_md_prj
            - id: 0
              limits: { hard: 0, soft: 0, granted: 0, time: 604800 }
            - id: 1023
              limits: { hard: 0, soft: 0, granted: 0, time: 281474976710656 }
            {noformat}
            The "{{id: 1023}}" entry is also persistent after remount, so it is definitely created in the quota table and not just in memory.
            New: Running a check with "{{lfs quota -p SOME_ID MOUNT}}" will create a new {{SOME_ID}} entry in the quota table if it doesn't already exist. It requires "{{lfs setquota --delete -p SOME_ID MOUNT}}" to delete this record again. The same happens for "{{lfs quota -u}}" and "{{lfs quota -g}}". Just *querying* the quota ID should not create an entry in the quota database, as this adds overhead and confusion about which IDs are actually in use, and could add a lot of overhead if some admin decides to run "{{for ID in \{1..1000000\}; do lfs quota -[ugp] $ID; done}}" to extract all of the quota information (until [LU-14535 quota: get all quota info in LFS|https://review.whamcloud.com/42098] is available).

            {noformat}
            [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
            qmt.testfs-QMT0000.md-0x0.glb-prj=
            global_pool0_md_prj
            - id: 0
              limits: { hard: 0, soft: 0, granted: 0, time: 604800 }
            [root@centos7 tests]# lfs quota -p 1023 /mnt/testfs
            Disk quotas for prj 1023 (pid 1023):
                 Filesystem kbytes quota limit grace files quota limit grace
                /mnt/testfs 0 0 0 - 0 0 0 -
            [root@centos7 tests]# lctl get_param qmt.testfs-QMT0000.md-0x0.glb-prj
            qmt.testfs-QMT0000.md-0x0.glb-prj=
            global_pool0_md_prj
            - id: 0
              limits: { hard: 0, soft: 0, granted: 0, time: 604800 }
            - id: 1023
              limits: { hard: 0, soft: 0, granted: 0, time: 281474976710656 }
            {noformat}
            The "{{id: 1023}}" entry is also persistent after remount, so it is definitely created in the quota table and not just in memory.
            adilger Andreas Dilger created issue -

            People

              wc-triage WC Triage
              adilger Andreas Dilger
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated: