Log inSkip to main contentSkip to sidebar
  • Whamcloud Community JIRA
  • Whamcloud Community Wiki
  • Whamcloud Build
  • Whamcloud Code Review
Whamcloud Community JIRA
  • More
    DashboardsProjectsIssues
  • Give feedback to Atlassian
  • Help
    • Jira Core help
    • Keyboard Shortcuts
    • About Jira
    • Jira Credits
  • Log In

Open issues

  • All issues
  • Open issues
  • Done issues
  • Viewed recently
  • Created recently
  • Resolved recently
  • Updated recently
View all issues and filters
Order by Priority
Order by Priority
  1. Bug
    LU-19004server_ioctl uses LU_SEQ_RANGE_MDT wrongly
  2. Bug
    LU-18999chlg_obd_get() does not unlock semaphore on error path
  3. Bug
    LU-13769osd_dir_it_key and osd_index_it_key feed zap_cursor_retrieve return to ERR_PTR
  4. Bug
    LU-18998Bufer over-read in lnet_fault_attr_to_attr4
  5. Bug
    LU-6521Unitialized variable access in ll_layout_fetch
  6. Bug
    LU-18994Null pointer deerference in lov_add_mgc_target
  7. Bug
    LU-19001osp_create uses likely wrongly
  8. Bug
    LU-16877sanity: test_51d stripecount=3: OST 1 has more objects vs. OST 0 (327 > 249 x 5/4)'
  9. Bug
    LU-18981do not call blocking ops when !TASK_RUNNING; state=402 set at [<0000000008d1b58e>] prepare_to_wait_event+0x90/0x1a0
  10. Bug
    LU-18980do not call blocking ops when !TASK_RUNNING; state=402 set at [<0000000078a4a089>] prepare_to_wait_event+0x90/0x1a0
  11. Technical task
    LU-19019TCU: remote dir/file handling for Trash Can
  12. Improvement
    LU-19013GPUDirect Storage / p2pdma Improvement and Fixes
  13. Bug
    LU-14623sanity test_210: FAIL: multiop failed / still running
  14. Task
    LU-18162Improve lu_device/obd_device handling and Lustre mount state machine
  15. Improvement
    LU-19012Increase maximum ldiskfs OST journal size
  16. Bug
    LU-19011lfs quota -a --blocks requires a space between the name and blocks
  17. Bug
    LU-18449Handling kernel mmap read-ahead triggering by advise(MADV_HUGEPAGE)
  18. Improvement
    LU-17980improve ldiskfs "-o discard" performance
  19. Improvement
    LU-16897Optimize sparse file reads
  20. Bug
    LU-17764sanity test_133f: RIP: 0010:__alloc_pages_nodemask+0x2a5/0x330
  21. Bug
    LU-15311sanity test_801a: (1) unexpected barrier status 'freezing_p2'
  22. Bug
    LU-10870sanityn test 40a, 40b, 40c, 40d, 40e fail with 'create is blocked'
  23. Bug
    LU-16880lnet-selftest test_smoke: lst Error found
  24. Bug
    LU-18513sanity test_411b: osd-zfs backend panic for sync
  25. Bug
    LU-17637sanity test_56xk: 'lfs mirror resync -W' too slow in VM
  26. Improvement
    LU-930Update or improvement to a Lustre man page, documentation, or messages
  27. Technical task
    LU-18958TCU: add NOTRASH attribute for files and directories
  28. Bug
    LU-19006cl_mode_user_to_kernel returns unsigned enum, cannot be negative
  29. Bug
    LU-19005qmt_uuid2idx can never be less than 0 now
  30. Bug
    LU-15389sanity-quota test_38: Delete is not completed in 63 seconds
  31. Improvement
    LU-18971Support ZFS 2.3.2
  32. Bug
    LU-18714sanity-compr test_56xb: hard links individually migrated (1 != 11)
  33. Bug
    LU-17792replay-single: test 135 Error: 'import is not in REPLAY_LOCKS state'
  34. Bug
    LU-17772sanity-compr test_270h: Invalid layout, unrecognized error: -1
  35. Improvement
    LU-18993Add latency stats to rpc_stats
  36. Bug
    LU-18996Race condition when trying to list and unregister_device at same time
  37. Bug
    LU-18992sanity test_230z: FAIL: migration is not finished
  38. Improvement
    LU-16796Replace LASSERT_ATOMIC_* (atomic_t) with reference counters (refcount)
  39. Bug
    LU-18991inode quota is not enforced when doing a chgrp
  40. Technical task
    LU-12187EC: erasure coding layout handling
  41. Improvement
    LU-17768Allow building rpms with BTF
  42. Improvement
    LU-18870ptlrpcd to avoid client cores that are very busy
  43. New Feature
    LU-18456TCU: Trash Can/Undelete for Lustre
  44. Bug
    LU-18838stat ahead panic at _atomic_dec_and_lock()
  45. Technical task
    LU-16266LFSCK to verify and repair PRJID/UID/GID mismatch on OST objects
  46. Bug
    LU-14087sanity-hsm test 254b fails with 'Expected 0 (!= '60') active restore requests'
  47. Improvement
    LU-18359Do not escape "..." around jobid_name
  48. Bug
    LU-17547sanity-krb5 test_90: dbench exit with error
  49. Improvement
    LU-18635add non-page tunable max_mb_per_rpc_read/write parameters
  50. Improvement
    LU-18975Nodemap-specific tunable parameter configuration
Refresh results
<< Previous 16 17 18 19 20Next >>
Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-18162

Improve lu_device/obd_device handling and Lustre mount state machine

Add Node
Open
Export
undefined
    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      Lustre device handling is split between the legacy OBD infrastructure and the newer LU device infrastructure. Each subsystem in Lustre is a strange mix of these different paradigms. With very little standardization across Lustre, it's difficult to understand how each component of Lustre is started and stopped during mount and umounts. As a result, the mount state machine is difficult to debug and error prone. Further, the process of writing extensions to Lustre (notably OSDs) is frustrated by the lack of clear and consistent documentation and mechanism around create Lustre devices.

       

      In no particular order, I've documented a number of tasks that can meaningfully improve Lustre's device handling:

      • The methods `>o_process_config` and `>ldo_process_config` need to be deprecated in favor of proper generics. Explicit callers of these functions need to avoid crafting their own `llog` to run operations on devices.
      • `lu_device` needs to have a proper `kref`.
      • `lu_device_init()` and `lu_device_fini()` should be consolidated. The device init should probably happen immediately after `ldto_device_alloc()` and the device fini immediately before `ldto_device_free()`
      • OBD and other child devices need to align their life cycles to LU. `>o_setup` and `>o_cleanup` should be removed in favor of `lu_device` methods. The child devices should be allocated and free'd alongside their parent `lu_device`.
      • `class_` and `obd_` methods need to be de-duplicated (or at least reviewed).
      • Userspace setup/cleanup should be disabled. It isn’t safe, often tested, or useful. Often times, manipulating the devices from userspace can be dangerous.
      • `lu_site` should probably be tied to the actual Lustre super-block.
      • OBD health check could be more useful (i.e. return the reason for the device failing).
      • The client and server-side mount paths should be split entirely. The `lustre` and `lustre_tgt` difference could be handled in userspace.
      • Fix the `lockdep` issues during the Lustre mount
      • Fix naming. I'm pretty sure bottom device for lu_site is always an OSD - never anything else.

      Attachments

        Issue Links

          is related to

          Bug - A problem which impairs or prevents the functions of the product. LU-16763 Improve Lustre kunit testing and OBD life cycle testing

          • Minor - Minor loss of function, or other problem where easy workaround is present.
          • Open

          New Feature - A new feature of the product, which has yet to be developed. LU-17995 In-memory OSD device

          • Minor - Minor loss of function, or other problem where easy workaround is present.
          • Open

          Task - A task that needs to be done. LU-17848 OSD and dt cleanups / deduplication

          • Minor - Minor loss of function, or other problem where easy workaround is present.
          • Open

          Improvement - An improvement or enhancement to an existing feature or task. LU-8802 Dynamically allocate obd_devices.

          • Minor - Minor loss of function, or other problem where easy workaround is present.
          • Resolved

          Activity

            • All
            • Comments
            • History
            • Activity
            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58830/
            Subject: LU-18162 ofd: convert Object Filter Device to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: d57f911c1a42e4bf405054687f04aa2a56011ed9

            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58830/ Subject: LU-18162 ofd: convert Object Filter Device to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: d57f911c1a42e4bf405054687f04aa2a56011ed9
            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58829/
            Subject: LU-18162 lmv: convert Logical Metadata Volume to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 2dc15e8ebcf1943a26320e0dc7b64275cf857770

            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58829/ Subject: LU-18162 lmv: convert Logical Metadata Volume to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: 2dc15e8ebcf1943a26320e0dc7b64275cf857770
            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58828/
            Subject: LU-18162 lov: convert Logical Object Volume to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 6a06834a3f2b357d4fcd1052f0a0a4bbe1577a5e

            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58828/ Subject: LU-18162 lov: convert Logical Object Volume to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: 6a06834a3f2b357d4fcd1052f0a0a4bbe1577a5e
            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58824/
            Subject: LU-18162 oss: convert Object Storage Service to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: e444862a62f81696cf6ede14c6f373d01e27b834

            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58824/ Subject: LU-18162 oss: convert Object Storage Service to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: e444862a62f81696cf6ede14c6f373d01e27b834
            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58810/
            Subject: LU-18162 llite: consolidate cl_stack_fini()/lu_stack_fini()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 16ffcf7f06ae04ebcfe2debabebe36265cb44dae

            gerrit Gerrit Updater added a comment - 14/May/25 3:56 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58810/ Subject: LU-18162 llite: consolidate cl_stack_fini()/lu_stack_fini() Project: fs/lustre-release Branch: master Current Patch Set: Commit: 16ffcf7f06ae04ebcfe2debabebe36265cb44dae
            gerrit Gerrit Updater added a comment - 14/May/25 3:55 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58804/
            Subject: LU-18162 kunit: convert LDLM extent test to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 224ecf9db7fce9424adb2ad1a6cf83415774f456

            gerrit Gerrit Updater added a comment - 14/May/25 3:55 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58804/ Subject: LU-18162 kunit: convert LDLM extent test to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: 224ecf9db7fce9424adb2ad1a6cf83415774f456
            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58785/
            Subject: LU-18162 kunit: convert OBD test to LU device
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: d253156f43caed3438e3b42656766c02561e2b2c

            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58785/ Subject: LU-18162 kunit: convert OBD test to LU device Project: fs/lustre-release Branch: master Current Patch Set: Commit: d253156f43caed3438e3b42656766c02561e2b2c
            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58784/
            Subject: LU-18162 obdclass: init LU device after alloc
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 973b5f1fed3d69b29ef5dcaa4fc283b07e85d13d

            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58784/ Subject: LU-18162 obdclass: init LU device after alloc Project: fs/lustre-release Branch: master Current Patch Set: Commit: 973b5f1fed3d69b29ef5dcaa4fc283b07e85d13d
            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58802/
            Subject: LU-18162 obdecho: remove LBUG() from echo_device_init()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 8ec47c389dfdaf323d4ab558432cf3c0d10b00aa

            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58802/ Subject: LU-18162 obdecho: remove LBUG() from echo_device_init() Project: fs/lustre-release Branch: master Current Patch Set: Commit: 8ec47c389dfdaf323d4ab558432cf3c0d10b00aa
            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58787/
            Subject: LU-18162 osd-ldiskfs: leave osd_device_init() unimplemented
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 5b6a76e282ab149a53802d47981c7e3e890be138

            gerrit Gerrit Updater added a comment - 02/May/25 2:20 AM "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58787/ Subject: LU-18162 osd-ldiskfs: leave osd_device_init() unimplemented Project: fs/lustre-release Branch: master Current Patch Set: Commit: 5b6a76e282ab149a53802d47981c7e3e890be138

            People

              timday Tim Day
              timday Tim Day
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                22/Aug/24 4:52 AM
                Updated:
                14/May/25 3:56 AM
                864 of 3569
                • Atlassian Jira Project Management Software
                • About Jira
                • Report a problem

                Powered by a free Atlassian Jira open source license for DataDirect Network. Try Jira - bug tracking software for your team.

                Atlassian