Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

io_uring: Add .errdetails to parse CQ status #1804

Merged
merged 2 commits into from
Aug 16, 2024
Merged

Commits on Aug 16, 2024

  1. ioengines: Add thread_data to .errdetails

    No functional changes here, but added a 'struct thread_data *td' to the
    errdetails callback.  This is a prep patch for the following commits to
    access 'td->eo' instance from .errdetails callback.
    
    Bump up FIO_IOOPS_VERSION to 36 since the previous commits updated
    .errdetails callback for ioengines by adding 'thread_data' argument.
    
    Signed-off-by: Minwoo Im <[email protected]>
    minwooim committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    0c89abc View commit details
    Browse the repository at this point in the history
  2. io_uring: Add .errdetails to parse CQ status

    Background
     - fio normally prints out the strerr and errno value when facing
       errors.  In case of io_uring_cmd ioengine with --cmd_type=nvme,
       io_u->error represents the CQ entry status code type and status
       code which should be parsed as a NVMe error value rather than
       errno.
    
    In io_u error failure condition, it prints out parsed CQ entry error
    status values with SCT(Status Code Type) and SC(Status Code).  The print
    will be like the following example:
    
      fio: io_uring_cmd: /dev/ng0n1: cq entry status (sct=0x00; sc=0x04)
    
    If --cmd_type!=nvme, it prints out generic status code like below:
    
      fio: io_uring_cmd: /dev/<devnode>: status=0x4
    
    Signed-off-by: Minwoo Im <[email protected]>
    minwooim committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    2a13699 View commit details
    Browse the repository at this point in the history