Details

    • New Feature
    • Resolution: Fixed
    • Critical
    • Lustre 2.10.0
    • Lustre 2.8.0
    • None
    • 9223372036854775807

    Description

      The current limitation of ACL entries is 32, which is not enough for some use cases. The limitation is inherited since Lustre-1.6 (or even earlier verion). Is there any special reason we keep this small limitation? The only reason I can think of, is to prevent space from exhausting before inodes exhausts on MDT. But, still 32 is too small, can we enlarge or even remove the limitation?

      Attachments

        Issue Links

          Activity

            [LU-7473] Enlarge ACL entry limitation

            Reopen to remove 2.11 fix version.

            adilger Andreas Dilger added a comment - Reopen to remove 2.11 fix version.

            The patch https://review.whamcloud.com/28116 will be landed via LU-10513.

            yong.fan nasf (Inactive) added a comment - The patch https://review.whamcloud.com/28116 will be landed via LU-10513 .

            Reopen to track landing of last patch.

            adilger Andreas Dilger added a comment - Reopen to track landing of last patch.

            Fan Yong (fan.yong@intel.com) uploaded a new patch: https://review.whamcloud.com/28116
            Subject: LU-7473 acl: prepare small buffer for ACL in RPC reply
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 971dbecce884acb07baccc175ea1e26336fff11c

            gerrit Gerrit Updater added a comment - Fan Yong (fan.yong@intel.com) uploaded a new patch: https://review.whamcloud.com/28116 Subject: LU-7473 acl: prepare small buffer for ACL in RPC reply Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 971dbecce884acb07baccc175ea1e26336fff11c
            pjones Peter Jones added a comment -

            Landed for 2,10

            pjones Peter Jones added a comment - Landed for 2,10

            Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/19790/
            Subject: LU-7473 acl: increase ACL entries limitation
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 64b2fad22a4eb4727315709e014d8f74c5a7f289

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/19790/ Subject: LU-7473 acl: increase ACL entries limitation Project: fs/lustre-release Branch: master Current Patch Set: Commit: 64b2fad22a4eb4727315709e014d8f74c5a7f289

            Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/19790
            Subject: LU-7473 acl: increase ACL entries limitation
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 3d33ba9e5d402c48bc8b76b9d4427b391ee85f65

            gerrit Gerrit Updater added a comment - Fan Yong (fan.yong@intel.com) uploaded a new patch: http://review.whamcloud.com/19790 Subject: LU-7473 acl: increase ACL entries limitation Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 3d33ba9e5d402c48bc8b76b9d4427b391ee85f65

            The reason that there is a limit on the ACLs is that the client needs to preallocate the reply buffer to receive the ACL data from the server, so it cannot be unlimited. The kernel limit in the past was also 32 entries, which the Lustre code also used.

            It seems it would be possible to increase the ACL limit to 64 (each entry is only 8 bytes). Since the ACL entries are sharing the same space as the LOV layout there is an upper limit on how much space the two of them can use, so this shouldn't make the replies too large.

            There will be some compatibility issues if this size is increased, if older and newer clients are mixed in the same cluster, and newer clients set a larger ACL that older clients cannot access. Besides this, I don't think there will be any protocol compatibility issues, since the ACL buffer size is described in the request and the reply, and older servers should be able to handle the larger ACL from newer clients.

            Please ensure any patch for this is tested with both older and newer clients against older and newer servers. It would also be useful to enhance the conf-sanity test_32 cases to include ACLs, if that is not already the case today.

            adilger Andreas Dilger added a comment - The reason that there is a limit on the ACLs is that the client needs to preallocate the reply buffer to receive the ACL data from the server, so it cannot be unlimited. The kernel limit in the past was also 32 entries, which the Lustre code also used. It seems it would be possible to increase the ACL limit to 64 (each entry is only 8 bytes). Since the ACL entries are sharing the same space as the LOV layout there is an upper limit on how much space the two of them can use, so this shouldn't make the replies too large. There will be some compatibility issues if this size is increased, if older and newer clients are mixed in the same cluster, and newer clients set a larger ACL that older clients cannot access. Besides this, I don't think there will be any protocol compatibility issues, since the ACL buffer size is described in the request and the reply, and older servers should be able to handle the larger ACL from newer clients. Please ensure any patch for this is tested with both older and newer clients against older and newer servers. It would also be useful to enhance the conf-sanity test_32 cases to include ACLs, if that is not already the case today.

            People

              yong.fan nasf (Inactive)
              lixi Li Xi (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: