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

Amount of default ACLs is limited by 31 for new files

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.15.0
    • Lustre 2.12.5
    • None
    • 3
    • 9223372036854775807

    Description

      While directory may have many default ACLs they cannot be inherited in newly created file. This is MDD internal issue and it is caused by buffer size limitation during the ACL processing

      Attachments

        Issue Links

          Activity

            [LU-14430] Amount of default ACLs is limited by 31 for new files

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/43683/
            Subject: LU-14430 mdd: use own rec_hdr for changelog declare
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: ff52f8c1736ad7ef2621d23366a1ca6572aa7f22

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/43683/ Subject: LU-14430 mdd: use own rec_hdr for changelog declare Project: fs/lustre-release Branch: master Current Patch Set: Commit: ff52f8c1736ad7ef2621d23366a1ca6572aa7f22
            pjones Peter Jones added a comment -

            Still some patches being tracked under this ticket

            pjones Peter Jones added a comment - Still some patches being tracked under this ticket

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43740
            Subject: LU-14430 mdd: rename mti_fid to mdi_fid and friends
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 5e7eb51652b5fa612b86ab045532168c66522691

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43740 Subject: LU-14430 mdd: rename mti_fid to mdi_fid and friends Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 5e7eb51652b5fa612b86ab045532168c66522691

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43739
            Subject: LU-14430 mdd: rename mti_oa to mdi_oa and friends
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: bda500aa02236c0b31721cc1e3f70b9ed9a63c7a

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43739 Subject: LU-14430 mdd: rename mti_oa to mdi_oa and friends Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: bda500aa02236c0b31721cc1e3f70b9ed9a63c7a

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43738
            Subject: LU-14430 mdd: rename mti_big_buf to mdi_big_buf
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 9e117587e5932e02ceffa0fe4d1323e7fcd2754e

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43738 Subject: LU-14430 mdd: rename mti_big_buf to mdi_big_buf Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 9e117587e5932e02ceffa0fe4d1323e7fcd2754e

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/43672/
            Subject: LU-14430 mdd: use own buffer for changelog
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 48aac6f1d9c2dd05328023c39d0dc95be92aa0fe

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/43672/ Subject: LU-14430 mdd: use own buffer for changelog Project: fs/lustre-release Branch: master Current Patch Set: Commit: 48aac6f1d9c2dd05328023c39d0dc95be92aa0fe

            Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43683
            Subject: LU-14430 mdd: use own rec_hdr for changelog declare
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 69003b78fb8da081a1d09d072b52e1fbb997059b

            gerrit Gerrit Updater added a comment - Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43683 Subject: LU-14430 mdd: use own rec_hdr for changelog declare Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 69003b78fb8da081a1d09d072b52e1fbb997059b
            adilger Andreas Dilger added a comment - - edited

            I added some debugging code to the users of mti_big_buf and tracked the double-use problem down to the code in mdd_declare_changelog_store() using it internally while only declaring the operation:

            [ 6181.942124] Lustre: testfs-MDD0000: changelog on
            [ 6185.985737] Lustre: testfs-MDD0001: changelog on
            [ 6201.030925] LustreError: 6461:0:(mdd_dir.c:766:mdd_declare_changelog_store())
             ASSERTION( !mdd_env_info(env)->mdi_big_buf_used ) failed: mdi_big_buf used in mdd_dir.c:2630:mdd_create()
            [ 6201.043070] LustreError: 6461:0:(mdd_dir.c:766:mdd_declare_changelog_store()) LBUG
            [ 6201.049962] Pid: 6461, comm: mdt00_003 3.10.0-1160.21.1.el7_lustre.ddn13.x86_64 #1 SMP Fri Mar 19 20:56:15 UTC 2021
            [ 6201.059974] Call Trace:
            [ 6201.062767]  [<ffffffffc06317cc>] libcfs_call_trace+0x8c/0xc0 [libcfs]
            [ 6201.067814]  [<ffffffffc063187c>] lbug_with_loc+0x4c/0xa0 [libcfs]
            [ 6201.070500]  [<ffffffffc10f189c>] mdd_declare_changelog_store+0x39c/0x410 [mdd]
            [ 6201.077335]  [<ffffffffc10f1d9d>] mdd_declare_create+0x48d/0xdf0 [mdd]
            [ 6201.083021]  [<ffffffffc10f55b1>] mdd_create+0x8f1/0x1790 [mdd]
            [ 6201.085670]  [<ffffffffc1188bf8>] mdt_reint_open+0x2578/0x33d0 [mdt]
            [ 6201.090106]  [<ffffffffc117b7d3>] mdt_reint_rec+0x83/0x210 [mdt]
            [ 6201.092757]  [<ffffffffc1157481>] mdt_reint_internal+0x6e1/0xb00 [mdt]
            [ 6201.094711]  [<ffffffffc11641a2>] mdt_intent_open+0x82/0x3a0 [mdt]
            [ 6201.099578]  [<ffffffffc11622c5>] mdt_intent_policy+0x435/0xd80 [mdt]
            [ 6201.104017]  [<ffffffffc0a7a686>] ldlm_lock_enqueue+0x376/0x9b0 [ptlrpc]
            [ 6201.107773]  [<ffffffffc0aa2236>] ldlm_handle_enqueue0+0xaa6/0x1630 [ptlrpc]
            [ 6201.113342]  [<ffffffffc0b2c012>] tgt_enqueue+0x62/0x210 [ptlrpc]
            [ 6201.118300]  [<ffffffffc0b30bee>] tgt_request_handle+0xaee/0x15f0 [ptlrpc]
            [ 6201.132348]  [<ffffffffc0ad75db>] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc]
            [ 6201.137484]  [<ffffffffc0adaf44>] ptlrpc_main+0xb34/0x1470 [ptlrpc]
            

            That code doesn't need a large lu_buf for the whole changelog record to declare the transaction size, just rec->cr_hdr (struct llog_rec_hdr), which could be allocated directly on the stack. That would also avoid some overhead in that function since it doesn't need to check/allocate mti_big_buf.

            adilger Andreas Dilger added a comment - - edited I added some debugging code to the users of mti_big_buf and tracked the double-use problem down to the code in mdd_declare_changelog_store() using it internally while only declaring the operation: [ 6181.942124] Lustre: testfs-MDD0000: changelog on [ 6185.985737] Lustre: testfs-MDD0001: changelog on [ 6201.030925] LustreError: 6461:0:(mdd_dir.c:766:mdd_declare_changelog_store()) ASSERTION( !mdd_env_info(env)->mdi_big_buf_used ) failed: mdi_big_buf used in mdd_dir.c:2630:mdd_create() [ 6201.043070] LustreError: 6461:0:(mdd_dir.c:766:mdd_declare_changelog_store()) LBUG [ 6201.049962] Pid: 6461, comm: mdt00_003 3.10.0-1160.21.1.el7_lustre.ddn13.x86_64 #1 SMP Fri Mar 19 20:56:15 UTC 2021 [ 6201.059974] Call Trace: [ 6201.062767] [<ffffffffc06317cc>] libcfs_call_trace+0x8c/0xc0 [libcfs] [ 6201.067814] [<ffffffffc063187c>] lbug_with_loc+0x4c/0xa0 [libcfs] [ 6201.070500] [<ffffffffc10f189c>] mdd_declare_changelog_store+0x39c/0x410 [mdd] [ 6201.077335] [<ffffffffc10f1d9d>] mdd_declare_create+0x48d/0xdf0 [mdd] [ 6201.083021] [<ffffffffc10f55b1>] mdd_create+0x8f1/0x1790 [mdd] [ 6201.085670] [<ffffffffc1188bf8>] mdt_reint_open+0x2578/0x33d0 [mdt] [ 6201.090106] [<ffffffffc117b7d3>] mdt_reint_rec+0x83/0x210 [mdt] [ 6201.092757] [<ffffffffc1157481>] mdt_reint_internal+0x6e1/0xb00 [mdt] [ 6201.094711] [<ffffffffc11641a2>] mdt_intent_open+0x82/0x3a0 [mdt] [ 6201.099578] [<ffffffffc11622c5>] mdt_intent_policy+0x435/0xd80 [mdt] [ 6201.104017] [<ffffffffc0a7a686>] ldlm_lock_enqueue+0x376/0x9b0 [ptlrpc] [ 6201.107773] [<ffffffffc0aa2236>] ldlm_handle_enqueue0+0xaa6/0x1630 [ptlrpc] [ 6201.113342] [<ffffffffc0b2c012>] tgt_enqueue+0x62/0x210 [ptlrpc] [ 6201.118300] [<ffffffffc0b30bee>] tgt_request_handle+0xaee/0x15f0 [ptlrpc] [ 6201.132348] [<ffffffffc0ad75db>] ptlrpc_server_handle_request+0x24b/0xab0 [ptlrpc] [ 6201.137484] [<ffffffffc0adaf44>] ptlrpc_main+0xb34/0x1470 [ptlrpc] That code doesn't need a large lu_buf for the whole changelog record to declare the transaction size, just rec->cr_hdr ( struct llog_rec_hdr ), which could be allocated directly on the stack. That would also avoid some overhead in that function since it doesn't need to check/allocate mti_big_buf .

            Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43672
            Subject: LU-14430 mdd: use own buffer for changelog
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 84b681ae814710b22f66fc69ddee997bfe34c181

            gerrit Gerrit Updater added a comment - Mike Pershin (mpershin@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/43672 Subject: LU-14430 mdd: use own buffer for changelog Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 84b681ae814710b22f66fc69ddee997bfe34c181

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/42013/
            Subject: LU-14430 mdt: fix maximum ACL handling
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: aa92caa21fa2a4473dce5889de7fcd17e171c1a0

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/42013/ Subject: LU-14430 mdt: fix maximum ACL handling Project: fs/lustre-release Branch: master Current Patch Set: Commit: aa92caa21fa2a4473dce5889de7fcd17e171c1a0

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/41775/
            Subject: LU-14430 mdd: don't assert on default ACL big buffer
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: b66b530c18c910ded562e279c9db02fcdad42176

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/41775/ Subject: LU-14430 mdd: don't assert on default ACL big buffer Project: fs/lustre-release Branch: master Current Patch Set: Commit: b66b530c18c910ded562e279c9db02fcdad42176

            People

              tappro Mikhail Pershin
              tappro Mikhail Pershin
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: