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

incorrect ENOENT handling in mdt_intent_reint causes panic on client side

Details

    • 3
    • 9223372036854775807

    Description

      In case of DISP_OPEN_CREATE client waits for valid fid value in reply when it_status == 0.
      When reint_open returns ENOENT fid is not set and client gets fid filled by 0. This may cause following panic:

      > LustreError: 19177:0:(llite_lib.c:2178:ll_prep_inode()) ASSERTION( fid_is_sane(&md.body->fid1) ) failed:
      > LustreError: 19177:0:(llite_lib.c:2178:ll_prep_inode()) LBUG
      > Pid: 19177, comm: cp
      > 
      > Call Trace:
      >  [<ffffffff81006109>] try_stack_unwind+0x169/0x1b0
      >  [<ffffffff81004b99>] dump_trace+0x89/0x440
      >  [<ffffffffa036b8c7>] libcfs_debug_dumpstack+0x57/0x80 [libcfs]
      >  [<ffffffffa036be27>] lbug_with_loc+0x47/0xc0 [libcfs]
      >  [<ffffffffa0a21184>] ll_prep_inode+0xc04/0xe40 [lustre]
      >  [<ffffffffa0a34721>] ll_create_nd+0x3d1/0xec0 [lustre]
      >  [<ffffffff81163fe9>] vfs_create+0xa9/0xf0
      >  [<ffffffff811646aa>] do_last+0x67a/0x7d0
      >  [<ffffffff81165358>] path_openat+0xc8/0x3d0
      >  [<ffffffff81165788>] do_filp_open+0x48/0xa0
      >  [<ffffffff8115651e>] do_sys_open+0x16e/0x240
      >  [<ffffffff81156630>] sys_open+0x20/0x30
      >  [<ffffffff815662eb>] system_call_fastpath+0x16/0x1b
      >  [<00007fc9c3726790>] 0x7fc9c3726790

      We faced the issue on DNE setup. For unknown reason(possibly failover) FLDB on master mdt didn't include OST seq ranges.
      We faced above panic every time after trying to create regular file in directory located on mdt1.

      Attachments

        1. console-lola-10.log.bz2
          386 kB
        2. console-lola-29.log.bz2
          44 kB
        3. lola-29-lustre-log.1448526588.65535.bz2
          0.3 kB
        4. messages-lola-10.log.bz2
          445 kB
        5. messages-lola-29.log.bz2
          409 kB
        6. soak.log.bz2
          358 kB

        Issue Links

          Activity

            [LU-7422] incorrect ENOENT handling in mdt_intent_reint causes panic on client side
            adilger Andreas Dilger made changes -
            Link New: This issue is related to LDEV-515 [ LDEV-515 ]
            adilger Andreas Dilger made changes -
            Fix Version/s New: Lustre 2.8.0 [ 11113 ]
            mdiep Minh Diep made changes -
            Link New: This issue is related to LDEV-341 [ LDEV-341 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-373 [ LDEV-373 ]
            pjones Peter Jones made changes -
            Link New: This issue is related to LDEV-368 [ LDEV-368 ]
            pjones Peter Jones made changes -
            Link New: This issue is duplicated by LU-7798 [ LU-7798 ]
            pjones Peter Jones made changes -
            Fix Version/s New: Lustre 2.9.0 [ 11891 ]
            Resolution New: Fixed [ 1 ]
            Status Original: Open [ 1 ] New: Resolved [ 5 ]
            pjones Peter Jones added a comment -

            Landed for 2.9

            pjones Peter Jones added a comment - Landed for 2.9

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/17985/
            Subject: LU-7422 llite: don't panic when fid is insane
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: e4eb90ecdc09740d90834cb1e95b5693e6637173

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/17985/ Subject: LU-7422 llite: don't panic when fid is insane Project: fs/lustre-release Branch: master Current Patch Set: Commit: e4eb90ecdc09740d90834cb1e95b5693e6637173

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/17177/
            Subject: LU-7422 mdt: fix ENOENT handling in mdt_intent_reint
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: ec9078afb635e8a64a4906b09dc99a2ab90e321b

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/17177/ Subject: LU-7422 mdt: fix ENOENT handling in mdt_intent_reint Project: fs/lustre-release Branch: master Current Patch Set: Commit: ec9078afb635e8a64a4906b09dc99a2ab90e321b

            People

              wc-triage WC Triage
              scherementsev Sergey Cheremencev
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: