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

osd_scrub_refresh_mapping() deadlock

    XMLWordPrintable

Details

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

    Description

      Lustre target mount hangs with the following stack trace:

      May 24 15:13:25 ehzxlusn002 kernel: LDISKFS-fs (md65): mounted filesystem with ordered data mode. Opts: user_xattr,errors=panic,errors=panic,journal_checksum,no_mbcache,nodelalloc
      May 24 15:17:24 ehzxlusn002 kernel: INFO: task mount.lustre:803818 blocked for more than 120 seconds.
      May 24 15:17:24 ehzxlusn002 kernel:       Tainted: G           OE    --------- -  - 4.18.0-305.10.2.x6.4.010.33.x86_64 #1
      May 24 15:17:24 ehzxlusn002 kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      May 24 15:17:24 ehzxlusn002 kernel: mount.lustre    D    0 803818 803817 0x00004002
      May 24 15:17:24 ehzxlusn002 kernel: Call Trace:
      May 24 15:17:24 ehzxlusn002 kernel:  __schedule+0x2c4/0x700
      May 24 15:17:24 ehzxlusn002 kernel:  schedule+0x38/0xa0
      May 24 15:17:24 ehzxlusn002 kernel:  rwsem_down_write_slowpath+0x32a/0x610
      May 24 15:17:24 ehzxlusn002 kernel:  osd_obj_update_entry.isra.22+0xb7/0x900 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_obj_spec_update+0x146/0x160 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_scrub_refresh_mapping+0x282/0x420 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_ios_scan_one+0x5df/0xe10 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_ios_root_fill+0x267/0x300 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  call_filldir+0xb0/0x120 [ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  ldiskfs_readdir+0x7a7/0xac0 [ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  iterate_dir+0x13c/0x190
      May 24 15:17:24 ehzxlusn002 kernel:  ? osd_ios_varfid_fill+0x1f0/0x1f0 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_ios_general_scan+0x10e/0x250 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  ? osd_ios_varfid_fill+0x1f0/0x1f0 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_initial_OI_scrub+0x72/0x920 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_scrub_setup+0x8ab/0x9e0 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  ? ltd_del_tgt+0x6a/0x320 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_device_init0+0x447/0x810 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  ? rwsem_down_read_slowpath+0x390/0x3d0
      May 24 15:17:24 ehzxlusn002 kernel:  osd_device_alloc+0x186/0x220 [osd_ldiskfs]
      May 24 15:17:24 ehzxlusn002 kernel:  obd_setup+0x115/0x2d0 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  class_setup+0x57f/0x790 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  class_process_config+0x1104/0x2460 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  ? _cond_resched+0x15/0x30
      May 24 15:17:24 ehzxlusn002 kernel:  ? do_lcfg+0x14b/0x530 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  ? __kmalloc+0x102/0x240
      May 24 15:17:24 ehzxlusn002 kernel:  do_lcfg+0x21d/0x530 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  lustre_start_simple+0x77/0x1d0 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  osd_start+0x408/0x7f0 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  ? simple_strtoull+0x3b/0x70
      May 24 15:17:24 ehzxlusn002 kernel:  ? target_name2index+0x92/0xc0 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  server_fill_super+0x382/0x10d0 [obdclass]
      May 24 15:17:24 ehzxlusn002 kernel:  lustre_fill_super+0x3a1/0x3f0 [lustre]
      May 24 15:17:24 ehzxlusn002 kernel:  ? ll_inode_destroy_callback+0x120/0x120 [lustre]
      May 24 15:17:24 ehzxlusn002 kernel:  mount_nodev+0x48/0xa0
      May 24 15:17:24 ehzxlusn002 kernel:  legacy_get_tree+0x27/0x40
      May 24 15:17:24 ehzxlusn002 kernel:  vfs_get_tree+0x25/0xb0
      May 24 15:17:24 ehzxlusn002 kernel:  do_mount+0x2e2/0x950
      May 24 15:17:24 ehzxlusn002 kernel:  ksys_mount+0xb6/0xd0
      May 24 15:17:24 ehzxlusn002 kernel:  __x64_sys_mount+0x21/0x30
      May 24 15:17:24 ehzxlusn002 kernel:  do_syscall_64+0x5b/0x1a0
      May 24 15:17:24 ehzxlusn002 kernel:  entry_SYSCALL_64_after_hwframe+0x65/0xca
       

      from the stack trace it is seen an attempt to update OI mapping for a special Lustre file.

      Attachments

        Activity

          People

            zam Alexander Zarochentsev
            zam Alexander Zarochentsev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: