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

Noisy "mdt_attr_valid_xlate()) Unknown attr bits: 0x60000"

Details

    • Bug
    • Resolution: Duplicate
    • Major
    • None
    • Lustre 2.7.0, Lustre 2.10.5
    • None
    • 3
    • 9223372036854775807

    Description

      When testing 2.12.0 clients against 2.10.5 servers, the server log was filled up by this kind of message: 

      LustreError: 14950:0:(mdt_lib.c:961:mdt_attr_valid_xlate()) Unknown attr bits: 0x60000
      LustreError: 14950:0:(mdt_lib.c:961:mdt_attr_valid_xlate()) Skipped 3853 previous similar messages

       

      2.12 clients are sending RPC with LSOM attributes, matching this 0x60000, that 2.10 servers do not understand. The error looks more to me like a warning as the server will simply ignore the LSOM attributes.

      static __u64 mdt_attr_valid_xlate(__u64 in, struct mdt_reint_record *rr,
                                        struct md_attr *ma)
      {
      
                  ...
      
                  in &= ~(MDS_ATTR_MODE | MDS_ATTR_UID | MDS_ATTR_GID | MDS_ATTR_PROJID |
                      MDS_ATTR_ATIME | MDS_ATTR_MTIME | MDS_ATTR_CTIME |
                      MDS_ATTR_ATIME_SET | MDS_ATTR_CTIME_SET | MDS_ATTR_MTIME_SET |
                      MDS_ATTR_SIZE | MDS_ATTR_BLOCKS | MDS_ATTR_ATTR_FLAG |
                      MDS_ATTR_FORCE | MDS_ATTR_KILL_SUID | MDS_ATTR_KILL_SGID |
                      MDS_ATTR_FROM_OPEN | MDS_OPEN_OWNEROVERRIDE);
                  if (in != 0)
                      CERROR("Unknown attr bits: %#llx\n", in);
                  return out;
      }

       

      I think we should make that at least a warning, of even maybe a debug.

      What do you think? I can send a patch for that, based on your preference.

       

      Attachments

        Issue Links

          Activity

            [LU-11928] Noisy "mdt_attr_valid_xlate()) Unknown attr bits: 0x60000"
            jgmitter Joseph Gmitter (Inactive) made changes -
            Fix Version/s Original: Lustre 2.13.0 [ 14290 ]
            adilger Andreas Dilger made changes -
            Resolution New: Duplicate [ 3 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]

            Patch is under LU-12021 so let's use that for tracking.

            adilger Andreas Dilger added a comment - Patch is under LU-12021 so let's use that for tracking.
            pjones Peter Jones made changes -
            Fix Version/s Original: Lustre 2.10.7 [ 14401 ]
            Fix Version/s Original: Lustre 2.12.1 [ 14406 ]

            There is already a patch https://review.whamcloud.com/34343 "LU-12021 lsom: Add an OBD_CONNECT2_LSOM connect flag". This is the only way to avoid this constant error on any old MDS from a new client without adding patches to all the old releases. The connect flag can be used for a few years and dropped eventually, as we've done with other flags. It would be good to still quiet the error message on the MDS so that we don't get this problem again in the future.

            adilger Andreas Dilger added a comment - There is already a patch https://review.whamcloud.com/34343 " LU-12021 lsom: Add an OBD_CONNECT2_LSOM connect flag ". This is the only way to avoid this constant error on any old MDS from a new client without adding patches to all the old releases. The connect flag can be used for a few years and dropped eventually, as we've done with other flags. It would be good to still quiet the error message on the MDS so that we don't get this problem again in the future.

            Try to find some time to do them.

            Andreas, does this make sense to you:

            > add the lazy flags to the list of known flags, so we quiet these specific errors, but are notified future errors

            Add them to the `in` list in `mdt_attr_valid_xlate()` for 2.10 LTS?

            > quiet the error message to not print to the console. I don't think marking it a warning is helpful

            Replace `CERROR(...)` with `CDEBUG(D_INFO, ...)` in `mdt_attr_valid_xlate()` for 2.10 LTS, 2.12 LTS and master?

            > add an OBD_CONNECT_LSOM flag so that clients don't send these flags to older servers that don't support it

            A patch for master and maybe a backport for 2.12 ? Does it look like a bit overkill to add a connect flag for that?

             

            degremoa Aurelien Degremont (Inactive) added a comment - Try to find some time to do them. Andreas, does this make sense to you: > add the lazy flags to the list of known flags, so we quiet these specific errors, but are notified future errors Add them to the `in` list in `mdt_attr_valid_xlate()` for 2.10 LTS? > quiet the error message to not print to the console. I don't think marking it a warning is helpful Replace `CERROR(...)` with `CDEBUG(D_INFO, ...)` in `mdt_attr_valid_xlate()` for 2.10 LTS, 2.12 LTS and master? > add an OBD_CONNECT_LSOM flag so that clients don't send these flags to older servers that don't support it A patch for master and maybe a backport for 2.12 ? Does it look like a bit overkill to add a connect flag for that?  
            pjones Peter Jones added a comment -

            degremoa do you still plan to submit a patch for this?

            pjones Peter Jones added a comment - degremoa do you still plan to submit a patch for this?
            adilger Andreas Dilger made changes -
            Link New: This issue is duplicated by LU-12021 [ LU-12021 ]
            adilger Andreas Dilger made changes -
            Affects Version/s New: Lustre 2.7.0 [ 10631 ]
            adilger Andreas Dilger made changes -
            Priority Original: Minor [ 4 ] New: Major [ 3 ]

            People

              degremoa Aurelien Degremont (Inactive)
              degremoa Aurelien Degremont (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: