Re: SYSFS "errors"

From: Felipe Balbi
Date: Mon Feb 18 2013 - 13:48:02 EST


Hi, On Mon, Feb 18, 2013 at 09:49:16AM -0800, Greg KH wrote:
> > Input/output error - /sys/devices/cpu/power/autosuspend_delay_ms
>
> The issue with this file is, if the power.use_autosuspend flag is not
> set for the device, then it can't be read or written to. This flag
> changes dynamically with the system state
> (__pm_runtime_use_autosuspend() can change it), so we can't just not
> show the file if the flag is not set properly, sorry.
>
> So the "error" is correct here, as is the 0644 file value.

hmm... we could create the file at pm_runtime_enable() time and remove
it on pm_runtime_disable() time, no ? Addin Rafael to Cc

> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/pid
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/end_lba
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/enable
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/act_mask
> > No such device or address - /sys/devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.1/2-5.1.1:1.0/host100/target100:0:0/100:0:0:0/block/sdc/trace/start_lba
> > Invalid argument - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/scsi_host/host1/em_buffer
> > Invalid argument - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/sw_activity
> > Operation not supported - /sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0/unload_heads
>
> SCSI fun, go poke the SCSI developers about these files, I know nothing
> about them, nor do I really want to :)
>
> > No such device - /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
>
> Odd, go ask the edac developers

will do ;-)

> > Input/output error - /sys/devices/system/memory/soft_offline_page
> > Input/output error - /sys/devices/system/memory/hard_offline_page
>
> These both should be mode 0400, not 0644, they have no 'show' attribute,
> that's a bug, care to make up a patch that I can take? Or I can, let me
> know.

sure, will send in a bit.

> > Invalid argument - /sys/devices/virtual/net/lo/speed
> > Invalid argument - /sys/devices/virtual/net/lo/duplex
>
> Ask the network developers, odds are, the loopback device doesn't really
> have a speed :)

right ;-)

> > No such device or address - /sys/devices/virtual/block/loop0/trace/pid
> > No such device or address - /sys/devices/virtual/block/loop0/trace/end_lba
> > No such device or address - /sys/devices/virtual/block/loop0/trace/enable
> > No such device or address - /sys/devices/virtual/block/loop0/trace/act_mask
> > No such device or address - /sys/devices/virtual/block/loop0/trace/start_lba
>
> Hm, these show up for virtual block devices as well, maybe they aren't
> scsi specific, but rather block specific, go poke the block developers
> then.

yeah, I was looking into these a while ago. They're created by
blk_trace_init_sysfs() which is called by blk_register_queue() but I
wonder if we couldn't defer the creation of those so that:

sysfs_blk_trace_attr_show():

1639 bdev = bdget(part_devt(p));
1640 if (bdev == NULL)
1641 goto out;
1642
1643 q = blk_trace_get_queue(bdev);
1644 if (q == NULL)
1645 goto out_bdput;

never fail (meaning they could be removed), adding some block folks to
the loop.

--
balbi

Attachment: signature.asc
Description: Digital signature