Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Not under consideration
Workspace AIX
Created by Guest
Created on Aug 22, 2023

AIX kernel facility to track outstanding opens to a device

Currently AIX doesn't track open()s to a device. In case a process has a device opened before the configuration method has ran that device cannot be configured on the OS without a reboot, because it is not possible to identify the offending process.

I'd like to suggest that a facility be introduced to track outstanding open()s to a device - that would allow to identify the offending process and kill it to allow device configuration. 

This is a global issue, that has been seen by support in countless scenarios where a process on the host might open() a device before the driver (EMC PowerPath, MF Data Protector, etc...). Keeping the logging to only outstanding open()s should allow to keep the overhead tolerable as logging any open() would be quite a lot of workload.

For example scsidiskdd could track processes with an outstanding open() and store their PID in the disk major structure. That information could be retrieved by either "kdb -> scsidisk <address> or via a userspace tool for that.

Thank you for your consideration!

Idea priority Medium
  • Guest
    Reply
    |
    Jul 30, 2024
    When the application opens the device(s) directly(by calling open) and exits normally or abnormally without closing the device(s), then kernel will close those device(s) as a part of process exit.

    When the devscan opens the fc device then it will send ioctl (SCIOLSTART) to fc device and before closing the fc device devscan sends ioctl (SCIOLSTOP) to device in normal case.

    when the devscan terminates abnormally, then kernel will close the device(s) opened by the devscan.

    Incase if it?s not a last close (some other processes has also opened the device) on the fc device then close will not be sent to the device and no cleanup will be done. Hence cfgmgr will fail. If device was not already opened then this problem would not be there as close will reach to device. This is a special case where a root privileged command (devscan) is used to open device and did not do cleanup. One other way to recover from this situation is to close device completely (all the process those have opened the device to close)

    if it?s a last close on the fc device then fc close will take care of SCIOLSTOP on the fc device. Hence cfgmgr will success.

    NOTE: specfs increments the open counts of a device when the device is opened and decrements it when the device is closed (i.e. open counts for devices are maintained by specfs). specfs calls the device close only for the last close on the device.
  • Guest
    Reply
    |
    Apr 5, 2024

    Hello,

    This idea is set to Status "Needs more information", however I do not see another question posted. What information is needed so I can gather it ?

    Thank you and have a good day!

  • Guest
    Reply
    |
    Mar 11, 2024
    Hi,

    Can you please provide us the steps to recreate the issue and let us know how that led to the request of track all opens in AIX Kernel

    Thank you.
    1 reply
  • Guest
    Reply
    |
    Feb 5, 2024
    If the device is not in configured state (i.e, in Defined state) then open will be failed by the driver. Can you please provide more information.
    1 reply
  • Guest
    Reply
    |
    Jan 11, 2024

    are there any update on this.


  • Guest
    Reply
    |
    Aug 24, 2023

    AIX has a command line tool fuser that lists processes using specified file. Would it suffice for the purpose?

    1 reply