2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:41 -06:00
|
|
|
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.
percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.
http://userweb.kernel.org/~tj/misc/slabh-sweep.py
The script does the followings.
* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.
* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.
* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.
The conversion was done in the following steps.
1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.
2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.
3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.
4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.
5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.
6. percpu.h was updated not to include slab.h.
7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).
* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig
8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.
Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.
Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
2010-03-24 17:04:11 +09:00
|
|
|
|
2007-02-28 17:32:19 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-05 07:34:23 +05:30
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-09-05 07:34:23 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:39 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:14 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:35 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2007-12-13 12:43:35 -06:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:51 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:35 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-08-31 18:09:24 -04:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:24 -04:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:35 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-04-24 16:21:19 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-08-20 15:10:58 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2007-12-13 12:43:35 -06:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:33 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:50 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-05 07:34:23 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:15 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-11-11 16:34:31 -06:00
|
|
|
|
2009-05-13 17:57:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-05-13 17:57:39 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-05-13 17:57:39 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-05-13 17:57:39 -05:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-17 12:10:28 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:20 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-17 12:10:28 -06:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:22 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:22 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2007-06-14 22:13:17 +09:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:42 -05:00
|
|
|
|
2008-09-24 11:46:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:09 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2008-09-24 11:46:09 -05:00
|
|
|
|
|
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
2008-12-01 12:13:00 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:41 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:41 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-09 16:39:40 +00:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-02-09 16:39:40 +00:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2006-07-24 15:47:45 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-07-24 15:47:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-09 16:39:40 +00:00
|
|
|
|
2006-07-24 15:47:45 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
[SCSI] iscsi_tcp: fix padding, data digests, and IO at weird offsets
iscsi_tcp calculates padding by using the expected transfer length. This
has the problem where if we have immediate data = no and initial R2T =
yes, and the transfer length ended up needing padding then we send:
1. header
2. padding which should have gone after data
3. data
Besides this bug, we also assume the target will always ask for nice
transfer lengths and the first burst length will always be a nice value.
As far as I can tell form the RFC this is not a requirement. It would be
silly to do this, but if someone did it we will end doing bad things.
Finally the last bug in that bit of code is in our handling of the
recalculation of data digests when we do not send a whole iscsi_buf in
one try. The bug here is that we call crypto_digest_final on a
iscsi_sendpage error, then when we send the rest of the iscsi_buf, we
doiscsi_data_digest_init and this causes the previous data digest to be
lost.
And to make matters worse, some of these bugs are replicated over and
over and over again for immediate data, solicited data and unsolicited
data. So the attached patch made over the iscsi git tree (see
kernel.org/git for details) which I updated today to include the patches
I said I merged, consolidates the sending of data, padding and digests
and calculation of data digests and fixes the above bugs.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-08-31 18:09:27 -04:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-05-02 19:46:47 -05:00
|
|
|
|
2006-10-16 18:09:41 -04:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:09 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-20 15:10:59 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:13 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:04 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:05 -06:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-26 12:46:48 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:23 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-07-24 15:47:15 -05:00
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-08-20 15:11:03 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2006-11-22 14:57:56 +00:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-11-22 14:57:56 +00:00
|
|
|
|
|
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-30 00:37:28 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:33 -04:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2007-12-13 12:43:34 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:47 -05:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:32 -06:00
|
|
|
|
2009-05-13 17:57:47 -05:00
|
|
|
|
2007-12-13 12:43:32 -06:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2009-05-13 17:57:47 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:32 -06:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:47 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2008-08-19 18:45:26 -05:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2007-12-13 12:43:26 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-16 18:09:39 -04:00
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2006-10-16 18:09:39 -04:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-09-05 07:35:33 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:25 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-08-20 15:10:58 -05:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:34 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:34 -06:00
|
|
|
|
2008-08-17 15:24:43 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
|
|
|
|
|
2008-04-18 10:11:52 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:05 -05:00
|
|
|
|
2007-12-13 12:43:34 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-15 17:46:39 -07:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-11-11 16:34:36 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-10-15 17:46:39 -07:00
|
|
|
|
2009-11-11 16:34:36 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-04-21 15:32:32 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-05 07:35:33 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:03 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2008-05-21 15:54:03 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:48 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-14 05:55:09 -07:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-14 05:55:09 -07:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
2008-09-14 05:55:09 -07:00
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
2010-02-10 16:51:45 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
2008-09-14 05:55:09 -07:00
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:08 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
2009-05-13 17:57:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
2008-05-08 20:15:34 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
2008-05-08 20:15:34 -05:00
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
2008-01-31 13:36:50 -06:00
|
|
|
|
2008-05-07 20:43:52 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
2008-01-31 13:36:50 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:05 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:33 -04:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2009-05-13 17:57:50 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:33 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2009-05-13 17:57:50 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-07-15 15:02:57 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2009-07-15 15:02:57 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-07-24 15:47:22 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:18 -05:00
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:18 -05:00
|
|
|
|
2008-09-24 11:46:15 -05:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2008-09-24 11:46:15 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-15 22:11:10 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-02-20 08:02:10 +05:30
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:45:55 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-12-21 14:37:27 -08:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2009-03-05 14:45:55 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-16 10:11:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:04 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] libiscsi: Fix scsi command timeout oops in iscsi_eh_timed_out
Yanling Qi from LSI found the root cause of the panic, below is his
analysis:
Problem description: the open iscsi driver installs eh_timed_out handler
to the
blank_transport_template of the scsi middle level that causes panic of
timed
out command of other host
Here are the details
Iscsi Session creation
During iscsi session creation time, the iscsi_tcp_session_create() of
iscsi_tpc.c will create a scsi-host for the session. See the statement
marked
with the label A. The statement B replaces the shost->transportt point
with a
local struct variable.
static struct iscsi_cls_session *
iscsi_tcp_session_create(struct iscsi_endpoint *ep, uint16_t cmds_max,
uint16_t qdepth, uint32_t initial_cmdsn,
uint32_t *hostno)
{
struct iscsi_cls_session *cls_session;
struct iscsi_session *session;
struct Scsi_Host *shost;
int cmd_i;
if (ep) {
printk(KERN_ERR "iscsi_tcp: invalid ep %p.\n", ep);
return NULL;
}
A shost = iscsi_host_alloc(&iscsi_sht, 0, qdepth);
if (!shost)
return NULL;
B shost->transportt = iscsi_tcp_scsi_transport;
shost->max_lun = iscsi_max_lun;
Please note the scsi host is allocated by invoking isccsi_host_alloc()
in
libiscsi.c
Polluting the middle level blank_transport_template in
iscsi_host_alloc() of
libiscsi.c
The iscsi_host_alloc() invokes the middle level function
scsi_host_alloc() in
hosts.c for allocating a scsi_host. Then the statement marked with C
assigns
the iscsi_eh_cmd_timed_out handler to the eh_timed_out callback
function.
struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht,
int dd_data_size, uint16_t qdepth)
{
struct Scsi_Host *shost;
struct iscsi_host *ihost;
shost = scsi_host_alloc(sht, sizeof(struct iscsi_host) +
dd_data_size);
if (!shost)
return NULL;
C shost->transportt->eh_timed_out = iscsi_eh_cmd_timed_out;
Please note the shost->transport is the middle level
blank_transport_template
as shown in the code segment below. We see two problems here. 1.
iscsi_eh_cmd_timed_out is installed to the blank_transport_template that
will
cause some body else problem. 2. iscsi_eh_cmd_timed_out will never be
invoked
when iscsi command gets timeout because the statement B resets the
pointer.
Middle level blank_transport_template
In the middle level function scsi_host_alloc() of hosts.c, the middle
level
assigns a blank_transport_template for those hosts not implementing its
transport layer. All HBAs without supporting a specific scsi_transport
will
share the middle level blank_transport_template. Please see the
statement D
struct Scsi_Host *scsi_host_alloc(struct scsi_host_template *sht, int
privsize)
{
struct Scsi_Host *shost;
gfp_t gfp_mask = GFP_KERNEL;
int rval;
if (sht->unchecked_isa_dma && privsize)
gfp_mask |= __GFP_DMA;
shost = kzalloc(sizeof(struct Scsi_Host) + privsize, gfp_mask);
if (!shost)
return NULL;
shost->host_lock = &shost->default_lock;
spin_lock_init(shost->host_lock);
shost->shost_state = SHOST_CREATED;
INIT_LIST_HEAD(&shost->__devices);
INIT_LIST_HEAD(&shost->__targets);
INIT_LIST_HEAD(&shost->eh_cmd_q);
INIT_LIST_HEAD(&shost->starved_list);
init_waitqueue_head(&shost->host_wait);
mutex_init(&shost->scan_mutex);
shost->host_no = scsi_host_next_hn++; /* XXX(hch): still racy */
shost->dma_channel = 0xff;
/* These three are default values which can be overridden */
shost->max_channel = 0;
shost->max_id = 8;
shost->max_lun = 8;
/* Give each shost a default transportt */
D shost->transportt = &blank_transport_template;
Why we see panic at iscsi_eh_cmd_timed_out()
The mpp virtual HBA doesn’t have a specific scsi_transport. Therefore,
the
blank_transport_template will be assigned to the virtual host of the MPP
virtual HBA by SCSI middle level. Please note that the statement C has
assigned
iscsi-transport eh_timedout handler to the blank_transport_template.
When a mpp
virtual command gets timedout, the iscsi_eh_cmd_timed_out() will be
invoked to
handle mpp virtual command timeout from the middle level
scsi_times_out()
function of the scsi_error.c.
enum blk_eh_timer_return scsi_times_out(struct request *req)
{
struct scsi_cmnd *scmd = req->special;
enum blk_eh_timer_return (*eh_timed_out)(struct scsi_cmnd *);
enum blk_eh_timer_return rtn = BLK_EH_NOT_HANDLED;
scsi_log_completion(scmd, TIMEOUT_ERROR);
if (scmd->device->host->transportt->eh_timed_out)
E eh_timed_out =
scmd->device->host->transportt->eh_timed_out;
else if (scmd->device->host->hostt->eh_timed_out)
eh_timed_out = scmd->device->host->hostt->eh_timed_out;
else
eh_timed_out = NULL;
if (eh_timed_out) {
rtn = eh_timed_out(scmd);
It is very easy to understand why we get panic in the
iscsi_eh_cmd_timed_out().
A scsi_cmnd from a no-iscsi device definitely can not resolve out a
session and
session->lock. The panic can be happed anywhere during the differencing.
static enum blk_eh_timer_return iscsi_eh_cmd_timed_out(struct scsi_cmnd
*scmd)
{
struct iscsi_cls_session *cls_session;
struct iscsi_session *session;
struct iscsi_conn *conn;
enum blk_eh_timer_return rc = BLK_EH_NOT_HANDLED;
cls_session = starget_to_session(scsi_target(scmd->device));
session = cls_session->dd_data;
debug_scsi("scsi cmd %p timedout\n", scmd);
spin_lock(&session->lock);
This patch fixes the problem by moving the setting of the
iscsi_eh_cmd_timed_out to iscsi_add_host, which is after the LLDs
have set their transport template to shost->transportt.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2009-02-06 12:06:20 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:04 -06:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
2009-03-05 14:46:05 -06:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2009-03-05 14:46:03 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-05-21 15:54:00 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2009-09-22 08:21:22 +05:30
|
|
|
|
2008-05-21 15:54:12 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-16 10:11:33 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:06 -05:00
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:19 -05:00
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
2007-05-30 12:57:19 -05:00
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
2009-09-22 08:21:22 +05:30
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
2007-12-13 12:43:38 -06:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:17 -05:00
|
|
|
|
|
|
|
|
|
2007-07-26 12:46:48 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-22 08:21:22 +05:30
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2006-06-28 12:00:27 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:12 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-07-24 15:47:29 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:25 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-07-24 15:47:50 -05:00
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
|
|
|
|
|
2006-07-24 15:47:50 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-09-24 11:46:10 -05:00
|
|
|
|
2006-07-24 15:47:29 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:34 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:01 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-11-22 14:57:56 +00:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-02 00:32:09 -06:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:34 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:34 -05:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2006-05-18 20:31:34 -05:00
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-28 17:32:15 -06:00
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2007-02-28 17:32:15 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-12-02 00:32:09 -06:00
|
|
|
|
|
|
|
|
|
2006-07-24 15:47:50 -05:00
|
|
|
|
2009-12-21 14:37:28 -08:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-07-26 12:46:48 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:24 -04:00
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:31 -04:00
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-08-31 18:09:24 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-26 12:46:48 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-01-31 13:36:53 -06:00
|
|
|
|
|
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2008-01-31 13:36:43 -06:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-05-02 19:46:40 -05:00
|
|
|
|
|
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-05-02 19:46:40 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-02 19:46:40 -05:00
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:09 -05:00
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
2006-05-02 19:46:40 -05:00
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-03-09 14:14:51 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:43 -05:00
|
|
|
|
2006-05-02 19:46:40 -05:00
|
|
|
|
2009-05-13 17:57:43 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
2009-03-05 14:45:58 -06:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-05-30 00:37:20 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:49 -05:00
|
|
|
|
2009-05-13 17:57:46 -05:00
|
|
|
|
2009-11-11 16:34:32 -06:00
|
|
|
|
2006-05-18 20:31:42 -05:00
|
|
|
|
2007-08-15 01:38:30 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-02 19:46:47 -05:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
2008-01-31 13:36:52 -06:00
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-10-16 18:09:39 -04:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-16 18:09:39 -04:00
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:20 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-11 16:34:33 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-13 12:43:30 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-28 12:00:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
and partial offload (broadcom). To be able to allow each stack or driver
or port (virtual or physical) to be able to log into the same target portal
we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
This patch adds the netdev name, which is used by software iscsi when
it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
It cannot use HWADDRESS because if someone did vlans then the same netdevice
will have the same mac and the initiator,target id will not be unique.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-05-30 12:57:25 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
and partial offload (broadcom). To be able to allow each stack or driver
or port (virtual or physical) to be able to log into the same target portal
we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
This patch adds the netdev name, which is used by software iscsi when
it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
It cannot use HWADDRESS because if someone did vlans then the same netdevice
will have the same mac and the initiator,target id will not be unique.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-05-30 12:57:25 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
2007-05-30 12:57:13 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:13 -05:00
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2008-05-21 15:54:16 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-21 15:53:59 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
|
|
|
|
|
[SCSI] iscsi class, iscsi_tcp, iser, qla4xxx: add netdevname sysfs attr
iSCSI must support software iscsi (iscsi_tcp, iser), hardware iscsi (qla4xxx),
and partial offload (broadcom). To be able to allow each stack or driver
or port (virtual or physical) to be able to log into the same target portal
we use the initiator tuple [[HWADDRESS | NETDEVNAME], INITIATOR_NAME] and
the target tuple [TARGETNAME, CONN_ADDRESS, CONN_PORT] to id a session.
This patch adds the netdev name, which is used by software iscsi when
it binds a session to a netdevice using the SO_BINDTODEVICE sock opt.
It cannot use HWADDRESS because if someone did vlans then the same netdevice
will have the same mac and the initiator,target id will not be unique.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Cc: David C Somayajulu <david.somayajulu@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-05-30 12:57:25 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:13 -05:00
|
|
|
|
2009-05-13 17:57:40 -05:00
|
|
|
|
2007-05-30 12:57:12 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-06 21:13:41 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|