Re: [PATCH] hpsa: add heartbeat sysfs host attribute
From: Greg KH <hidden>
Date: 2011-08-15 15:45:39
Also in:
lkml
On Mon, Aug 15, 2011 at 10:04:09AM -0500, scameron@beardog.cce.hp.com wrote:
On Mon, Aug 15, 2011 at 09:40:22AM -0500, scameron@beardog.cce.hp.com wrote:quoted
On Fri, Aug 12, 2011 at 07:01:47PM -0700, Greg KH wrote:quoted
On Fri, Aug 12, 2011 at 01:03:14PM -0500, Stephen M. Cameron wrote:quoted
From: Stephen M. Cameron <redacted> The cciss driver had a CCISS_HEARTBEAT ioctl which[...]quoted
quoted
+ The "heartbeat" read-only attribute returns the value of a heartbeat + counter register on a Smart Array controller as a 32 bit unsigned + hexadecimal integer (e.g: "0x12345678"). The value should change + periodically, not less than once per second. If this value fails to + change for a period longer than one second, it means something has + gone wrong (e.g. Smart Array controller firmware has locked up.) +This all belongs in Documentation/ABI/ care to move it there instead?Sure.Now that I look, I'm not seeing where any of the generic scsi host or device attributes are documented in Documenation/ABI.
Then that's a SCSI bug :)
It's not very clear to me where in Documentation/ABI I should
document a driver's custom scsi device and host attributes as
even the generic scsi device and host attributes seem to be
undocumented.
from scsi_sysfs.c, I see these, for example:
&dev_attr_device_blocked.attr,
&dev_attr_type.attr,
&dev_attr_scsi_level.attr,
&dev_attr_vendor.attr,
&dev_attr_model.attr,
&dev_attr_rev.attr,
&dev_attr_rescan.attr,
&dev_attr_delete.attr,
&dev_attr_state.attr,
&dev_attr_timeout.attr,
&dev_attr_iocounterbits.attr,
&dev_attr_iorequest_cnt.attr,
&dev_attr_iodone_cnt.attr,
&dev_attr_ioerr_cnt.attr,
&dev_attr_modalias.attr,
REF_EVT(media_change),
NULL
};
but I don't see them documented anywhere in Documentation/ABI,
and hpsa.c adds these custom sdev attrs:
static struct device_attribute *hpsa_sdev_attrs[] = {
&dev_attr_raid_level,
&dev_attr_lunid,
&dev_attr_unique_id,
NULL,
};
Likewise, there are generic scsi host attrs in scsi_sysfs.c:
static struct attribute *scsi_sysfs_shost_attrs[] = {
&dev_attr_unique_id.attr,
&dev_attr_host_busy.attr,
&dev_attr_cmd_per_lun.attr,
&dev_attr_can_queue.attr,
&dev_attr_sg_tablesize.attr,
&dev_attr_sg_prot_tablesize.attr,
&dev_attr_unchecked_isa_dma.attr,
&dev_attr_proc_name.attr,
&dev_attr_scan.attr,
&dev_attr_hstate.attr,
&dev_attr_supported_mode.attr,
&dev_attr_active_mode.attr,
&dev_attr_prot_capabilities.attr,
&dev_attr_prot_guard_type.attr,
NULL
Also undocumented.
hpsa.c adds custom host attrs:
static struct device_attribute *hpsa_shost_attrs[] = {
&dev_attr_rescan,
&dev_attr_firmware_revision,
&dev_attr_commands_outstanding,
&dev_attr_transport_mode,
&dev_attr_resettable,
&dev_attr_heartbeat,
NULL,
};
How should I proceed?Start by documenting the ones you add, and if you want, and can, it would be great to document the existing ones as well. thanks, greg k-h