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

mdd_is_parent() goes into infinite loop

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • Lustre 2.13.0
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      mdd_parent_fid() reads xattrs without taking a lock, so the xattr cache can be populated with stale data. So link_ea data forms a cycle :

              osp <struct osp_object 0xffff8800852091e0>
               b'trusted.link' <struct osp_xattr_entry 0xffff880085836d80>
               <struct link_ea_entry 0xffff880085836dde> b'16' [0x2c0000400:0x21:0x0]
      
               osp <struct osp_object 0xffff880085208420>
               b'trusted.link' <struct osp_xattr_entry 0xffff8801246c1780>
               <struct link_ea_entry 0xffff8801246c17de> b'[0x2c0000400:0x21:0x0]:0' [0x2c0000404:0x720:0x0]
      
              osp <struct osp_object 0xffff880085209080>
               b'trusted.link' <struct osp_xattr_entry 0xffff880085836700>
               <struct link_ea_entry 0xffff88008583675e> b'8' [0x280000403:0x7:0x0]
      
              osp <struct osp_object 0xffff8800852082c0>
               b'trusted.link' <struct osp_xattr_entry 0xffff880083db1300>
               <struct link_ea_entry 0xffff880083db135e> b'[0x280000403:0x7:0x0]:3' [0x2c0000409:0x729:0x0]
      

      It is reproduced by racer.

      Attachments

        Activity

          People

            askulysh Andriy Skulysh
            askulysh Andriy Skulysh
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: