<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/scsi, branch v3.3</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/scsi?h=v3.3</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/scsi?h=v3.3'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-01-16T08:45:48Z</updated>
<entry>
<title>[SCSI] libfc: Declare local functions static</title>
<updated>2012-01-16T08:45:48Z</updated>
<author>
<name>Bart Van Assche</name>
<email>bvanassche@acm.org</email>
</author>
<published>2012-01-14T01:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c6b21c93c1794113c68f3d43f321968191d87b1b'/>
<id>urn:sha1:c6b21c93c1794113c68f3d43f321968191d87b1b</id>
<content type='text'>
Avoid that sparse complains about missing declarations for local
functions by declaring these static or by adding an #include directive.
Add the __percpu annotation where it is missing.

Signed-off-by: Bart Van Assche &lt;bvanassche@acm.org&gt;
Reviewed-by: Yi Zou &lt;yi.zou@intel.com&gt;
Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6</title>
<updated>2012-01-10T18:36:08Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-01-10T18:36:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d04baa157d1b35cbd27c87b4a13111d9675b61f3'/>
<id>urn:sha1:d04baa157d1b35cbd27c87b4a13111d9675b61f3</id>
<content type='text'>
SCSI updates for post 3.2 merge window

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (67 commits)
  [SCSI] lpfc 8.3.28: Update driver version to 8.3.28
  [SCSI] lpfc 8.3.28: Add Loopback support for SLI4 adapters
  [SCSI] lpfc 8.3.28: Critical Miscellaneous fixes
  [SCSI] Lpfc 8.3.28: FC and SCSI Discovery Fixes
  [SCSI] lpfc 8.3.28: Add support for ABTS failure handling
  [SCSI] lpfc 8.3.28: SLI fixes and added SLI4 support
  [SCSI] lpfc 8.3.28: Miscellaneous fixes in sysfs and mgmt interfaces
  [SCSI] mpt2sas: Removed redundant calling of _scsih_probe_devices() from _scsih_probe
  [SCSI] mac_scsi: Remove obsolete IRQ_FLG_* users
  [SCSI] qla4xxx: Update driver version to 5.02.00-k10
  [SCSI] qla4xxx: check for FW alive before calling chip_reset
  [SCSI] qla4xxx: Fix qla4xxx_dump_buffer to dump buffer correctly
  [SCSI] qla4xxx: Fix the IDC locking mechanism
  [SCSI] qla4xxx: Wait for disable_acb before doing set_acb
  [SCSI] qla4xxx: Don't recover adapter if device state is FAILED
  [SCSI] qla4xxx: fix call trace on rmmod with ql4xdontresethba=1
  [SCSI] qla4xxx: Fix CPU lockups when ql4xdontresethba set
  [SCSI] qla4xxx: Perform context resets in case of context failures.
  [SCSI] iscsi class: export pid of process that created
  [SCSI] mpt2sas: Remove unused duplicate diag_buffer_enable param
  ...
</content>
</entry>
<entry>
<title>Merge branch 'upstream-linus' of git://github.com/jgarzik/libata-dev</title>
<updated>2012-01-10T18:19:17Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-01-10T18:19:17Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=abce00f962a11ed6f748c2569e11695a30716b53'/>
<id>urn:sha1:abce00f962a11ed6f748c2569e11695a30716b53</id>
<content type='text'>
* 'upstream-linus' of git://github.com/jgarzik/libata-dev:
  ahci: support the STA2X11 I/O Hub
  pata_bf54x: fix BMIDE status register emulation
  ata: add ata port hibernate callbacks
  ata: update ata port's runtime status during system resume
  [SCSI] runtime resume parent for child's system-resume
  ahci: platform support for suspend/resume
  libata-core: kill duplicate statement in ata_do_set_mode()
  pata_of_platform: remove direct dependency on OF_IRQ
  SATA/PATA: convert drivers/ata/* to use module_platform_driver()
  pata_cs5536: forward port changes from cs5536
  libata-sff: use ATAPI_{COD|IO}
  ata: add ata port runtime PM callbacks
  ata: add ata port system PM callbacks
  [SCSI] sd: check runtime PM status in sd_shutdown
  [SCSI] check runtime PM status in system PM
  [SCSI] add flag to skip the runtime PM calls on the host
  ata: make ata port as parent device of scsi host
  ahci: start engine only during soft/hard resets
</content>
</entry>
<entry>
<title>[SCSI] add flag to skip the runtime PM calls on the host</title>
<updated>2012-01-09T00:14:57Z</updated>
<author>
<name>Lin Ming</name>
<email>ming.m.lin@intel.com</email>
</author>
<published>2011-12-05T01:20:24Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ae0751ffc77e7f21629970fdab5528c573e637f8'/>
<id>urn:sha1:ae0751ffc77e7f21629970fdab5528c573e637f8</id>
<content type='text'>
With previous change, now the ata port runtime suspend will happen as:

disk suspend --&gt; scsi target suspend --&gt; scsi host suspend --&gt; ata port
suspend

ata port(parent device) suspend need to schedule scsi EH which will resume
scsi host(child device). Then the child device resume will in turn make
parent device resume first. This is kind of recursive.

This patch adds a new flag Scsi_Host::eh_noresume.
ata port will set this flag to skip the runtime PM calls on scsi host.

Acked-by: Alan Stern &lt;stern@rowland.harvard.edu&gt;
Signed-off-by: Lin Ming &lt;ming.m.lin@intel.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>switch -&gt;is_visible() to returning umode_t</title>
<updated>2012-01-04T03:54:55Z</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2011-07-24T03:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=587a1f1659e8b330b8738ef4901832a2b63f0bed'/>
<id>urn:sha1:587a1f1659e8b330b8738ef4901832a2b63f0bed</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>[SCSI] fcoe: fix fcoe in a DCB environment by adding DCB notifiers to set skb priority</title>
<updated>2011-12-15T07:02:07Z</updated>
<author>
<name>john fastabend</name>
<email>john.r.fastabend@intel.com</email>
</author>
<published>2011-11-18T21:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6f6c2aa33b915c574543f176dee89d7aefc115c1'/>
<id>urn:sha1:6f6c2aa33b915c574543f176dee89d7aefc115c1</id>
<content type='text'>
Use DCB notifiers to set the skb priority to allow packets
to be steered and tagged correctly over DCB enabled drivers
that setup traffic classes.

This allows queue_mapping() routines to be removed in these
drivers that were previously inspecting the ethertype of
every skb to mark FCoE/FIP frames.

Signed-off-by: John Fastabend &lt;john.r.fastabend@intel.com&gt;
Signed-off-by: Robert Love &lt;robert.w.love@intel.com&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] iscsi class: export pid of process that created</title>
<updated>2011-12-15T06:57:40Z</updated>
<author>
<name>Mike Christie</name>
<email>michaelc@cs.wisc.edu</email>
</author>
<published>2011-12-05T22:44:01Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=0c70d84b794c9a99f7395b617ecaef34c00d82ec'/>
<id>urn:sha1:0c70d84b794c9a99f7395b617ecaef34c00d82ec</id>
<content type='text'>
There could be multiple userspace entities creating/destroying/
recoverying sessions and also the kernel's iscsi drivers could
be doing this too. If the userspace apps do try to manage the kernel
ones it can get the driver/fw out of sync and cause the user to
loose the root disk, oopses or ping ponging becasue userspace
wants to do one thing but the kernel manager thought we
are trying to do another.

This patch fixes the problem by just exporting the pid of
the entity that created the session. Userspace programs like
iscsid, iscsiadm, iscsistart, qlogic's tools, etc, can then
figure out which sessions they own and only manage them.

Signed-off-by: Mike Christie &lt;michaelc@cs.wisc.edu&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>[SCSI] scsi_dh: code cleanup and remove the references to scsi_dev_info</title>
<updated>2011-12-15T06:55:00Z</updated>
<author>
<name>Moger, Babu</name>
<email>Babu.Moger@netapp.com</email>
</author>
<published>2011-12-01T20:03:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2b132577a05ec2970581c99da70825430d5919df'/>
<id>urn:sha1:2b132577a05ec2970581c99da70825430d5919df</id>
<content type='text'>
All the handlers have now implemented the match function so We don't need to
use scsi_dev_info any more for matching purposes.

Signed-off-by: Babu Moger &lt;babu.moger@netapp.com&gt;
Acked-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: James Bottomley &lt;JBottomley@Parallels.com&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6</title>
<updated>2011-10-28T23:44:18Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-28T23:44:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954'/>
<id>urn:sha1:ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits)
  [SCSI] qla4xxx: export address/port of connection (fix udev disk names)
  [SCSI] ipr: Fix BUG on adapter dump timeout
  [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer
  [SCSI] hpsa: change confusing message to be more clear
  [SCSI] iscsi class: fix vlan configuration
  [SCSI] qla4xxx: fix data alignment and use nl helpers
  [SCSI] iscsi class: fix link local mispelling
  [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA
  [SCSI] aacraid: use lower snprintf() limit
  [SCSI] lpfc 8.3.27: Change driver version to 8.3.27
  [SCSI] lpfc 8.3.27: T10 additions for SLI4
  [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery
  [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name
  [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout
  [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes
  [SCSI] megaraid_sas: Changelog and version update
  [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic
  [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support
  [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers
  [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts
  ...
</content>
</entry>
<entry>
<title>ore: RAID5 Write</title>
<updated>2011-10-25T00:15:33Z</updated>
<author>
<name>Boaz Harrosh</name>
<email>bharrosh@panasas.com</email>
</author>
<published>2011-10-14T13:33:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=769ba8d92025fa390f3097e658b8ed6e032d68e9'/>
<id>urn:sha1:769ba8d92025fa390f3097e658b8ed6e032d68e9</id>
<content type='text'>
This is finally the RAID5 Write support.

The bigger part of this patch is not the XOR engine itself, But the
read4write logic, which is a complete mini prepare_for_striping
reading engine that can read scattered pages of a stripe into cache
so it can be used for XOR calculation. That is, if the write was not
stripe aligned.

The main algorithm behind the XOR engine is the 2 dimensional array:
	struct __stripe_pages_2d.
A drawing might save 1000 words
---

__stripe_pages_2d
       |
 n = pages_in_stripe_unit;
 w = group_width - parity;
       |                            pages array presented to the XOR lib
       |                                                |
       V                                                |
 __1_page_stripe[0].pages --&gt; [c0][c1]..[cw][c_par] &lt;---|
       |                                                |
 __1_page_stripe[1].pages --&gt; [c0][c1]..[cw][c_par] &lt;---
       |
...    |                         ...
       |
 __1_page_stripe[n].pages --&gt; [c0][c1]..[cw][c_par]
                               ^
                               |
           data added columns first then row

---
The pages are put on this array columns first. .i.e:
	p0-of-c0, p1-of-c0, ... pn-of-c0, p0-of-c1, ...
So we are doing a corner turn of the pages.

Note that pages will zigzag down and left. but are put sequentially
in growing order. So when the time comes to XOR the stripe, only the
beginning and end of the array need be checked. We scan the array
and any NULL spot will be field by pages-to-be-read.

The FS that wants to support RAID5 needs to supply an
operations-vector that searches a given page in cache, and specifies
if the page is uptodate or need reading. All these pages to be read
are put on a slave ore_io_state and synchronously read. All the pages
of a stripe are read in one IO, using the scatter gather mechanism.

In write we constrain our IO to only be incomplete on a single
stripe. Meaning either the complete IO is within a single stripe so
we might have pages to read from both beginning  or end of the
strip. Or we have some reading to do at beginning but end at strip
boundary. The left over pages are pushed to the next IO by the API
already established by previous work, where an IO offset/length
combination presented to the ORE might get the length truncated and
the user must re-submit the leftover pages. (Both exofs and NFS
support this)

But any ORE user should make it's best effort to align it's IO
before hand and avoid complications. A cached ore_layout-&gt;stripe_size
member can be used for that calculation. (NOTE: that ORE demands
that stripe_size may not be bigger then 32bit)

What else? Well read it and tell me.

Signed-off-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
</content>
</entry>
</feed>
