<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/scsi/scsi_proc.c, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-02-02T17:57:46Z</updated>
<entry>
<title>scsi: print single-character strings with seq_putc</title>
<updated>2015-02-02T17:57:46Z</updated>
<author>
<name>Rasmus Villemoes</name>
</author>
<published>2014-12-02T23:10:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f50332ff2574130903356e800913c1a73cc6c1dc'/>
<id>urn:sha1:f50332ff2574130903356e800913c1a73cc6c1dc</id>
<content type='text'>
Using seq_putc to print a single character saves at least a strlen()
call and a memory access, and may also give a small .text reduction.

Signed-off-by: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Reviewed-by: Finn Thain &lt;fthain@telegraphics.com.au&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>scsi: replace seq_printf with seq_puts</title>
<updated>2015-02-02T17:57:45Z</updated>
<author>
<name>Rasmus Villemoes</name>
</author>
<published>2014-12-02T23:10:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=91c40f24faadd977ee9209fee6a760e72a50d19c'/>
<id>urn:sha1:91c40f24faadd977ee9209fee6a760e72a50d19c</id>
<content type='text'>
Using seq_printf to print a simple string is a lot more expensive than
it needs to be, since seq_puts exists. Replace seq_printf with
seq_puts when possible.

Signed-off-by: Rasmus Villemoes &lt;linux@rasmusvillemoes.dk&gt;
Reviewed-by: Finn Thain &lt;fthain@telegraphics.com.au&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>scsi: use 64-bit LUNs</title>
<updated>2014-07-17T20:07:37Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2014-06-25T13:27:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9cb78c16f5dadefd8dc5ba0ae5a2f26cd59419b3'/>
<id>urn:sha1:9cb78c16f5dadefd8dc5ba0ae5a2f26cd59419b3</id>
<content type='text'>
The SCSI standard defines 64-bit values for LUNs, and large arrays
employing large or hierarchical LUN numbers become more and more
common.

So update the linux SCSI stack to use 64-bit LUN numbers.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
Reviewed-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Reviewed-by: Ewan Milne &lt;emilne@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>fix buffer leak after "scsi: saner replacements for -&gt;proc_info()"</title>
<updated>2013-05-31T19:16:51Z</updated>
<author>
<name>Jan Beulich</name>
</author>
<published>2013-05-29T12:26:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=801d9d26bfd6e88e9cf0efbb30b649d1bdc15dcf'/>
<id>urn:sha1:801d9d26bfd6e88e9cf0efbb30b649d1bdc15dcf</id>
<content type='text'>
That patch failed to set proc_scsi_fops' .release method.

Signed-off-by: Jan Beulich &lt;jbeulich@suse.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>procfs: new helper - PDE_DATA(inode)</title>
<updated>2013-04-09T18:13:32Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-03-31T22:16:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d9dda78bad879595d8c4220a067fc029d6484a16'/>
<id>urn:sha1:d9dda78bad879595d8c4220a067fc029d6484a16</id>
<content type='text'>
The only part of proc_dir_entry the code outside of fs/proc
really cares about is PDE(inode)-&gt;data.  Provide a helper
for that; static inline for now, eventually will be moved
to fs/proc, along with the knowledge of struct proc_dir_entry
layout.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>scsi_proc: make proc_scsi_host_open() preallocate a bigger buffer</title>
<updated>2013-04-09T18:13:30Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-03-31T17:50:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=859d22f9c3924ab87b05ded8ba922abc298c1d43'/>
<id>urn:sha1:859d22f9c3924ab87b05ded8ba922abc298c1d43</id>
<content type='text'>
Some of the -&gt;show_info() instances really spew a lot; it's not a problem
wrt correctness (seq_read() will grow buffer and call the sucker again),
but in this case it makes sense to start with a somewhat bigger one -
they often do exceed one page worth of output.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>scsi: bury -&gt;proc_info()</title>
<updated>2013-04-09T18:13:29Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-03-31T17:27:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=70ef457dc92bdd03c0c8d640fce45909166983a1'/>
<id>urn:sha1:70ef457dc92bdd03c0c8d640fce45909166983a1</id>
<content type='text'>
all users converted to -&gt;show_info()/-&gt;write_info()

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>scsi: saner replacements for -&gt;proc_info()</title>
<updated>2013-04-09T18:13:14Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2013-03-31T03:58:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ffddfbb834557b8babc7f050b83d11dbcbb1008'/>
<id>urn:sha1:0ffddfbb834557b8babc7f050b83d11dbcbb1008</id>
<content type='text'>
It's still an obsolete interface; don't introduce those in new drivers.
However, it's saner than the -&gt;proc_info() and commits after this one
will convert the existing -&gt;proc_info() users to it.

The read side is -&gt;show_info(seq_file *, struct Scsi_Host *); use
seq_... for generating contents.

The write side is -&gt;write_info(struct Scsi_Host *, char *, int).

Again, this is driven by procfs needs; we are going to kill -&gt;write_proc()
and -&gt;read_proc() and this is the main obstacle to burying that piece of
shit.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>scsi: fix scsi_proc new kernel-doc warning</title>
<updated>2011-05-29T06:12:11Z</updated>
<author>
<name>Randy Dunlap</name>
</author>
<published>2011-05-29T00:26:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5be7ef002469eaf757065ee16b4100c6d3ead1cc'/>
<id>urn:sha1:5be7ef002469eaf757065ee16b4100c6d3ead1cc</id>
<content type='text'>
Fix kernel-doc warnings in scsi_proc.c:

  Warning(drivers/scsi/scsi_proc.c:390): No description found for parameter 'dev'
  Warning(drivers/scsi/scsi_proc.c:390): No description found for parameter 'data'
  Warning(drivers/scsi/scsi_proc.c:390): Excess function parameter 's' description in 'always_match'
  Warning(drivers/scsi/scsi_proc.c:390): Excess function parameter 'p' description in 'always_match'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>[SCSI] iterate over devices individually for /proc/scsi/scsi</title>
<updated>2011-05-01T18:04:02Z</updated>
<author>
<name>Jeff Mahoney</name>
</author>
<published>2011-04-27T20:22:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e37c4913c555bd149eba3af953fb5d3a1686dfbd'/>
<id>urn:sha1:e37c4913c555bd149eba3af953fb5d3a1686dfbd</id>
<content type='text'>
On systems with very large numbers (&gt; 1600 or so) of SCSI devices,
cat /proc/scsi/scsi ends up failing with -ENOMEM. This is due to
the show routine simply iterating over all of the devices with
bus_for_each_dev(), and trying to dump all of them into the buffer
at the same time. On my test system (using scsi_debug with 4064 devices),
the output ends up being ~ 632k, far more than kmalloc will typically allow.

This patch defines its own seq_file opreations to iterate over the scsi
devices.The result is that each show() operation only dumps ~ 180 bytes
into the buffer at a time so we don't run out of memory.

If the "Attached devices" header isn't required, we can dump the
sfile-&gt;private bit completely.

Signed-off-by: Jeff Mahoney &lt;jeffm@suse.com&gt;
Signed-off-by: James Bottomley &lt;James.Bottomley@suse.de&gt;
</content>
</entry>
</feed>
