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

fail to register backing_dev_info under RHEL6

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Minor
    • Lustre 2.1.0
    • Lustre 2.1.0
    • None
    • RHEL6
    • 3
    • 10431

    Description

      We get the following warning and stacktrace under RHEL6 and Lustre 2.1 (in this
      case triggered by 'ls -al' in the root of the mounted Lustre filesystem).

      WARNING: at fs/fs-writeback.c:967 __mark_inode_dirty+0x108/0x160() (Tainted: G W ---------------- )
      Hardware name: X8DTH-i/6/iF/6F
      Modules linked in: osd_ldiskfs fsfilt_ldiskfs lustre ldiskfs lmv obdfilter ost cmm mdt mdd mds exportfs mgs mgc ext4 lov osc lquota mdc fid fld ko2iblnd ptlrpc obdclass lvfs lnet libcfs mbcache jbd2 ib_ipoib rdma_ucm ib_ucm ib_uverbs ib_umad rdma_cm ib_cm iw_cm ib_addr ib_sa mlx4_ib ib_mad ib_core sg sd_mod crc_t10dif dm_mirror dm_region_hash dm_log dm_mod video output sbs sbshc power_meter hwmon acpi_pad parport serio_raw i2c_i801 i2c_core ata_generic pata_acpi ata_piix iTCO_wdt iTCO_vendor_support ioatdma i7core_edac edac_core mpt2sas scsi_transport_sas raid_class ipv6 nfs lockd fscache nfs_acl auth_rpcgss sunrpc mlx4_core igb dca [last unloaded: ldiskfs]
      Pid: 17095, comm: ls Tainted: G W ---------------- 2.6.32-14chaos #1
      Call Trace:
      [<ffffffff8106b8f7>] warn_slowpath_common+0x87/0xc0
      [<ffffffff8106b94a>] warn_slowpath_null+0x1a/0x20
      [<ffffffff81195218>] __mark_inode_dirty+0x108/0x160
      [<ffffffff81185d3d>] touch_atime+0x12d/0x170
      [<ffffffffa07df467>] ll_readdir+0x297/0x540 [lustre]
      [<ffffffff81256941>] ? cpumask_any_but+0x31/0x50
      [<ffffffff8117fc60>] ? filldir+0x0/0xe0
      [<ffffffff8117fc60>] ? filldir+0x0/0xe0
      [<ffffffff8117fee0>] vfs_readdir+0xc0/0xe0
      [<ffffffff81180069>] sys_getdents+0x89/0xf0
      [<ffffffff814c9705>] ? page_fault+0x25/0x30
      [<ffffffff81013172>] system_call_fastpath+0x16/0x1b
      --[ end trace 608329aca724c430 ]--
      bdi-(null) not registered

      In lustre/llite/llite_lib.c:ll_fill_super() we have

      #ifdef HAVE_NEW_BACKING_DEV_INFO
      lsi->bdi.name = "lustre";
      lsi->bdi.capabilities = BDI_CAP_MAP_COPY;
      err = bdi_register(&lsi->bdi, NULL, "lustre-%d",
      atomic_inc_return(&ll_bdi_num));
      sb->s_bdi = &lsi->bdi;
      #endif

      where HAVE_NEW_BACKING_DEV_INFO is defined at configure time if struct
      backing_dev_info has member wb_cnt. However, RHEL6 has a backport of the
      following patch which changes the write back thread queue interface and removes
      wb_cnt.

      http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=83ba7b071f30f7c01f72518ad72d5cd203c27502

      So the superblock bdi is never properly registered and we trigger the
      warning in __mark_inode_dirty().

      Attachments

        Activity

          People

            bobijam Zhenyu Xu
            nedbass Ned Bass
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: