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

Layout corruption (lmm_oi) inside mdd_swap_layouts

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • Lustre 2.10.0, Lustre 2.11.0, Lustre 2.12.0, Lustre 2.13.0
    • None
    • 3
    • 9223372036854775807

    Description

      The following code in mdd_swap_layouts is not valid for PFL layout:

               /* set the file specific informations in lmm */
               if (fst_lmm != NULL) {
                       saved_oi = &info->mti_oa.o_oi;
                       mdd_get_lmm_oi(fst_lmm, saved_oi);
                       mdd_set_lmm_gen(fst_lmm, &snd_gen);
                 ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                       mdd_set_lmm_oi(snd_lmm, saved_oi);
               } else {
      
      

      For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

      We have to access to the different component entries defined inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

      LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

      WARNING:

      Do not try to run LFSCK on a 2.12.4 for this. This will corrupted every migrated layouts because of the LU-13535 "Files truncated/corruption due to lfsck"

      Attachments

        Issue Links

          Activity

            [LU-14837] Layout corruption (lmm_oi) inside mdd_swap_layouts
            eaujames Etienne Aujames made changes -
            Affects Version/s New: Lustre 2.10.0 [ 12204 ]
            Affects Version/s Original: Lustre 2.14.0 [ 14490 ]
            eaujames Etienne Aujames made changes -
            Affects Version/s New: Lustre 2.11.0 [ 13091 ]
            Affects Version/s Original: Lustre 2.10.0 [ 12204 ]
            eaujames Etienne Aujames made changes -
            Affects Version/s New: Lustre 2.14.0 [ 14490 ]
            eaujames Etienne Aujames made changes -
            Description Original: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries define inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

            LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

            {color:#de350b}*WARNING*{color}:

            Do not try to run LFSCK on a 2.12.4 for this. This will corrupted *every migrated layouts* because of the LU-13535 "Files truncated/corruption due to lfsck"
            New: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries defined inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

            LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

            {color:#de350b}*WARNING*{color}:

            Do not try to run LFSCK on a 2.12.4 for this. This will corrupted *every migrated layouts* because of the LU-13535 "Files truncated/corruption due to lfsck"
            eaujames Etienne Aujames made changes -
            Link New: This issue duplicates LU-13426 [ LU-13426 ]
            eaujames Etienne Aujames made changes -
            Affects Version/s Original: Lustre 2.14.0 [ 14490 ]
            eaujames Etienne Aujames made changes -
            Link New: This issue is related to CEA-5 [ CEA-5 ]
            eaujames Etienne Aujames made changes -
            Link New: This issue is related to LU-13535 [ LU-13535 ]
            eaujames Etienne Aujames made changes -
            Description Original: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries define inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

            LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

            WARNING:

            Do not try to run LFSCK on a 2.12.4 for this. This will corrupted every migrated layouts because of the
            New: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries define inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

            LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

            {color:#de350b}*WARNING*{color}:

            Do not try to run LFSCK on a 2.12.4 for this. This will corrupted *every migrated layouts* because of the LU-13535 "Files truncated/corruption due to lfsck"
            eaujames Etienne Aujames made changes -
            Description Original: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries define inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.
            New: The following code in mdd_swap_layouts is not valid for PFL layout:
            {code:java}
                     /* set the file specific informations in lmm */
                     if (fst_lmm != NULL) {
                             saved_oi = &info->mti_oa.o_oi;
                             mdd_get_lmm_oi(fst_lmm, saved_oi);
                             mdd_set_lmm_gen(fst_lmm, &snd_gen);
                       ----> mdd_set_lmm_oi(fst_lmm, &snd_lmm->lmm_oi);
                             mdd_set_lmm_oi(snd_lmm, saved_oi);
                     } else {

            {code}
            For PFL layout, snd_lmm does not point directly to a lov_mds_md structure but on a lov_comp_md_v1 structure.

            We have to access to the different component entries define inside lov_comp_md_v1 and then apply offsets to access to the lov_mds_md structures.

            LFSK can correct this inconsistencies. this will increment the "inconsistencies_other/repaired_other" counter.

            WARNING:

            Do not try to run LFSCK on a 2.12.4 for this. This will corrupted every migrated layouts because of the

            People

              eaujames Etienne Aujames
              eaujames Etienne Aujames
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: