Robert Hancock wrote:
Can you (or others experiencing this problem) test the latest patch
attached to the RH Bugzilla entry here:
https://bugzilla.redhat.com/show_bug.cgi?id=351451
and see if it resolves the problem? I have one report of success so far.
I've tested this patch and it seems
Tejun Heo wrote:
Some ATA controllers including SFF BMDMA and libata PIO HSM need the
number of bytes mapped in the sg table. Yeah, it can be calculated with
a simple macro but it also is a fundamentally confusing dual-sizing
which should be made as clear as possible. Plus, it can be
On Sun, Feb 03, 2008 at 08:16:42PM +0300, Sergei Shtylyov wrote:
Bartlomiej Zolnierkiewicz wrote:
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
Acked-by: Sergei Shtylyov [EMAIL PROTECTED]
Index: b/drivers/ide/ide-tape.c
Jan Beulich wrote:
Do you have any real case where the above behavior causes problem?
It's not strictly a problem (i.e. nothing really mis-behaves), but it made
me wonder why the box I saw this on gets 6 ahci device instances set
up when spec as well as port map say there ought to be only 5.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 32 +++-
1 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index ae2c76d..4fee160 100644
--- a/drivers/ide/ide-tape.c
+++
Also, remove redundant ones and cleanup whitespace.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 725 +++
1 files changed, 293 insertions(+), 432 deletions(-)
diff --git a/drivers/ide/ide-tape.c
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c |6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 342ec50..24f048f 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c |8 +---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index a80f8d9..342ec50 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c |5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 24f048f..cfcf5b0 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@
This function was being used only at one place so fold it in there.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 36
1 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/ide/ide-tape.c
goes before ide-tape: remove IDETAPE_DEBUG_INFO patch in IDE quilt tree
Cc: Borislav Petkov [EMAIL PROTECTED]
Signed-off-by: Bartlomiej Zolnierkiewicz [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 13 +++--
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git
... by adding a new typedef function pointer idetape_io_buf in order to call
the proper buffer i/o handler depending on the data direction.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 55 +--
1 files changed, 29
- last_frame_position: only being written to once
- firmware_revision, product_id, vendor_id: used once, remove from struct
idetape_tape_t and deal with them locally
- firmware_revision_num: only written to once
- tape_still_time_begin: completely unused
- tape_still_time: never written to;
Teach the debug logging macro to differentiate between log levels based on the
type of debug level enabled specifically instead of a threshold-based one.
Thus, convert tape-debug_level to a bitmask that is written to over /proc.
Also,
- cleanup and simplify the debug macro thus removing a lot of
Jan Beulich wrote:
I understand your concern, but I think you also understand mine. So
I'm not really asking for general reversal of the logic, but to perhaps
make it just a little smarter. The (not generally usable according to
what you said earlier) experiment I made was to use the smaller
Tejun Heo [EMAIL PROTECTED] 02/02/08 9:16 AM
Jan Beulich wrote:
Jeff,
while I realize that Intel's documentation may not be consistent with
anything more generic (which I don't know where to look for), this
current behavior seems to contradict what Intel documents for ESB2:
23.3.1.4 PI
And, here's working version. I'll splite and post them tomorrow.
Thanks.
Index: work/block/blk-core.c
===
--- work.orig/block/blk-core.c
+++ work/block/blk-core.c
@@ -116,6 +116,7 @@ void rq_init(struct request_queue *q, st
* Every driver for SFF controllers now uses ata_pci_default_filter()
unless the driver has custom implementation.
That is only needed for DMA capable devices. I guess it does no harm to
be consistent and call it anyway but you then say ..
* No reason to set ata_pci_default_filter() for
hello borislav,
may i forward you that *old* Debian kernel bug,
have seen you working on ide-tape:
http://bugs.debian.org/11922
no we don't carry any ide patches anymore.
maybe you've already fixed it in latest?
thanks
--
maks
- Forwarded message from Stephen Kitt [EMAIL PROTECTED] -
Shorten some member names not too aggressively since this driver might be gone
anyway soon.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 210 ++--
1 files changed, 113 insertions(+), 97 deletions(-)
diff --git
On Mon, 2008-02-04 at 23:43 +0900, Tejun Heo wrote:
And, here's working version. I'll splite and post them tomorrow.
Thanks.
Index: work/block/blk-core.c
===
--- work.orig/block/blk-core.c
+++ work/block/blk-core.c
@@
On Mon, 2008-02-04 at 18:25 +0900, Tejun Heo wrote:
Tejun Heo wrote:
Some ATA controllers including SFF BMDMA and libata PIO HSM need the
number of bytes mapped in the sg table. Yeah, it can be calculated with
a simple macro but it also is a fundamentally confusing dual-sizing
which
Also remove flag IDETAPE_READ_ERROR since it is unused.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 226 +--
1 files changed, 120 insertions(+), 106 deletions(-)
diff --git a/drivers/ide/ide-tape.c
tape-speed_control is set to 1 in idetape_setup(), but, in calculate_speeds()
its value is tested for being 0, 1, or 2. Remove the if-branches where
tape-speed_control != 1 since they are never executed. Also, rename
calculate_speeds() by adding driver's prefix as is with the other function
There should be no functional changes resulting from this patch.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 49 +--
1 files changed, 18 insertions(+), 31 deletions(-)
diff --git a/drivers/ide/ide-tape.c
The HITACHI HDS7250SASUN500G and HITACHI HDS7225SBSUN250 drives
do not need to be blacklisted, the NCQ problem has been resolved
with the sata_nv: fix for completion handling patch.
Signed-off-by David Milburn [EMAIL PROTECTED]
---
libata-core.c |2 --
1 files changed, 2 deletions(-)
diff
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 58 ---
1 files changed, 25 insertions(+), 33 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 712c5df..175d507 100644
---
Hi Bart,
here are the pending ide-tape patches reworked which incorporate all review
points raised so far. Several new patches are appended to the original series
which i thought would be reasonable to sumbit along with the others. Also,
i've applied ide-tape: dump gcw fields on error in
These buffers were always statically allocated during driver initialization no
matter what. Remove them by allocating GFP_ATOMIC memory on demand. In the case
of allocation error, we only issue error msg in the *alloc_{pc,rq} thus
postponing
the final error handling and cleanup in their callers.
Well, two values don't agree with each other and we know for a fact that
vendors sometimes get PI wrong, so we trust n_ports in such cases. We
can reverse the behavior but that's likely to cause more problems than
it fixes.
I understand your concern, but I think you also understand mine. So
I'm
Hi Jens, Bart, Boris,
I have reviewed all blk-end-request patches again to confirm whether
there are any similar problems with the last week's ide-cd panic:
http://lkml.org/lkml/2008/1/29/140
And I found a possible similar bug in ide-io change:
ide_end_drive_cmd() could be called for
Gene Heskett wrote:
On Sunday 03 February 2008, Ingo Molnar wrote:
* Gene Heskett [EMAIL PROTECTED] wrote:
I believe its the same, but lemme paste it for sure, yes:
[ 26.339926] ENABLING IO-APIC IRQs
[ 26.340119] ..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
[ 26.350129] ..MP-BIOS
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 5c5..2e6198f 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -15,7
This just updates the libata slave configure routine to take advantage
of the block layer drain buffers. It also adjusts the size lengths in
the atapi code to add the drain buffer to the DMA length so the driver
knows it can rely on it.
I suspect I should also be checking for AHCI as well as
Signed-off-by: James Bottomley [EMAIL PROTECTED]
---
include/linux/blkdev.h |5 +
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 90392a9..a526066 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
Documentation/feature-removal-schedule.txt | 14 --
drivers/ide/ide-tape.c |5 +
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/Documentation/feature-removal-schedule.txt
Spotted by Sergei Shtylyov.
CC: Sergei Shtylyov [EMAIL PROTECTED]
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index 4a12c0b..7e998c4 100644
.. and replace it with plain enums.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 62 ---
1 files changed, 32 insertions(+), 30 deletions(-)
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index
ATA requires that all DMA transfers begin and end on word boundaries.
Because of this, a large amount of machinery grew up in ide to adjust
scatterlists on this basis. However, as of 2.5, the block layer has a
dma_alignment variable which ensures both the beginning and length of a
DMA transfer
On Mon, 2008-02-04 at 22:28 +0100, Borislav Petkov wrote:
On Mon, Feb 04, 2008 at 03:22:06PM +0100, maximilian attems wrote:
(Added Bart to CC)
hello borislav,
may i forward you that *old* Debian kernel bug,
have seen you working on ide-tape:
http://bugs.debian.org/11922
no we
On Mon, Feb 04, 2008 at 03:22:06PM +0100, maximilian attems wrote:
(Added Bart to CC)
hello borislav,
may i forward you that *old* Debian kernel bug,
have seen you working on ide-tape:
http://bugs.debian.org/11922
no we don't carry any ide patches anymore.
maybe you've already fixed it
On Tue, 2008-02-05 at 09:43 +0900, Tejun Heo wrote:
Hello,
James Bottomley wrote:
No, it doesn't. Drain needs to extend the sg table too
The patches do extend the sg table.
Hmm... Where?
It's the block component; it's already in git head with this patch:
commit
Hello,
James Bottomley wrote:
No, it doesn't. Drain needs to extend the sg table too
The patches do extend the sg table.
Hmm... Where?
and it makes controllers lax about buffer overruns for commands they
shouldn't be.
So adjust the qc-nbytes to show no drain element in libata ...
--- On Sun, 2/3/08, James Bottomley [EMAIL PROTECTED] wrote:
The enclosure misc device is really just a library providing
sysfs
support for physical enclosure devices and their
components.
Who is the target audience/user of those facilities?
a) The kernel itself needing to read/write SES
On Tue, 2008-02-05 at 09:06 +0900, Tejun Heo wrote:
James Bottomley wrote:
Plus, tape devices are also ATAPI and since the problem seems to be
handling of ATAPI pio commands, they need all of this too. It really
is, I think, better just to do the setup in the libata slave configure
if
On Mon, 2008-02-04 at 16:32 -0800, Luben Tuikov wrote:
--- On Sun, 2/3/08, James Bottomley [EMAIL PROTECTED] wrote:
The enclosure misc device is really just a library providing
sysfs
support for physical enclosure devices and their
components.
Who is the target audience/user of those
James Bottomley wrote:
No, it doesn't. Drain needs to extend the sg table too
The patches do extend the sg table.
Hmm... Where?
It's the block component; it's already in git head with this patch:
commit fa0ccd837e3dddb44c7db2f128a8bb7e4eabc21a
Author: James Bottomley [EMAIL PROTECTED]
Hi Borislav,
On Monday 04 February 2008, Borislav Petkov wrote:
Hi Bart,
here are the pending ide-tape patches reworked which incorporate all review
points raised so far. Several new patches are appended to the original series
which i thought would be reasonable to sumbit along with the
* Replace incorrect CONFIG_BLK_DEV_IDE #ifdef in
check_media_bay() by CONFIG_MAC_FLOPPY one.
* Replace incorrect CONFIG_BLK_DEV_IDE #ifdef-s by
CONFIG_BLK_DEV_IDE_PMAC ones.
* check_media_bay() is used only by drivers/block/swim3.c
so make this function available only if CONFIG_MAC_FLOPPY
On Monday 04 February 2008, Borislav Petkov wrote:
There should be no functional changes resulting from this patch.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
drivers/ide/ide-tape.c | 49 +--
1 files changed, 18 insertions(+), 31
This fixes some problems with ATAPI devices on nForce4 controllers in ADMA mode
on systems with memory located above 4GB. We need to delay setting the 64-bit
DMA mask until the PRD table and padding buffer are allocated so that they don't
get allocated above 4GB and break legacy mode (which is
--- On Mon, 2/4/08, James Bottomley [EMAIL PROTECTED] wrote:
The enclosure misc device is really just a
library providing
sysfs
support for physical enclosure devices and their
components.
Who is the target audience/user of those facilities?
a) The kernel itself needing to
On Mon, 2008-02-04 at 18:01 -0800, Luben Tuikov wrote:
--- On Mon, 2/4/08, James Bottomley [EMAIL PROTECTED] wrote:
The enclosure misc device is really just a
library providing
sysfs
support for physical enclosure devices and their
components.
Who is the target
--- On Mon, 2/4/08, James Bottomley [EMAIL PROTECTED] wrote:
On Mon, 2008-02-04 at 18:01 -0800, Luben Tuikov wrote:
--- On Mon, 2/4/08, James Bottomley
[EMAIL PROTECTED] wrote:
The enclosure misc device is really
just a
library providing
sysfs
support for physical enclosure
On Mon, 2008-02-04 at 19:28 -0800, Luben Tuikov wrote:
--- On Mon, 2/4/08, James Bottomley [EMAIL PROTECTED] wrote:
On Mon, 2008-02-04 at 18:01 -0800, Luben Tuikov wrote:
--- On Mon, 2/4/08, James Bottomley
[EMAIL PROTECTED] wrote:
The enclosure misc device is really
just a
On Monday 04 February 2008, Mark Lord wrote:
Gene Heskett wrote:
On Sunday 03 February 2008, Ingo Molnar wrote:
* Gene Heskett [EMAIL PROTECTED] wrote:
I believe its the same, but lemme paste it for sure, yes:
[ 26.339926] ENABLING IO-APIC IRQs
[ 26.340119] ..TIMER: vector=0x31 apic1=0
On Tue, Feb 05, 2008 at 02:23:21AM +0100, Bartlomiej Zolnierkiewicz wrote:
On Monday 04 February 2008, Borislav Petkov wrote:
Shorten some member names not too aggressively since this driver might be
gone
anyway soon.
Signed-off-by: Borislav Petkov [EMAIL PROTECTED]
---
On Tue, 2008-02-05 at 10:07 +0900, Tejun Heo wrote:
James Bottomley wrote:
No, it doesn't. Drain needs to extend the sg table too
The patches do extend the sg table.
Hmm... Where?
It's the block component; it's already in git head with this patch:
commit
From: James Bottomley [EMAIL PROTECTED]
qc-n_iter was used for libata's own sg walking before sg chaining
replaced it. During conversion, the field and its usage in sata_fsl
were left behind. Kill the filed and update sata_fsl.
tj: This was part of James's libata-use-block-layer-padding patch.
James Bottomley wrote:
Oops, I was talking about padding. Sorry about that.
Oh, OK ... the I thought the changelog was pretty explicit. However, it
works because the dma_aligment parameter of the block layer ensures that
all elements of the sg list begin and end on an address that conforms
--- On Mon, 2/4/08, James Bottomley [EMAIL PROTECTED] wrote:
--- On Mon, 2/4/08, James Bottomley
[EMAIL PROTECTED] wrote:
On Mon, 2008-02-04 at 18:01 -0800, Luben Tuikov
wrote:
--- On Mon, 2/4/08, James Bottomley
[EMAIL PROTECTED]
wrote:
The enclosure misc device is
really
Draining shouldn't be done for commands where overflow may indicate
data integrity issues. Add dma_drain_needed callback to
request_queue. Drain buffer is appened iff this function returns
non-zero.
Signed-off-by: Tejun Heo [EMAIL PROTECTED]
Cc: James Bottomley [EMAIL PROTECTED]
---
On Mon, Feb 04, 2008 at 02:53:12PM -0500, Kiyoshi Ueda wrote:
Hi Jens, Bart, Boris,
I have reviewed all blk-end-request patches again to confirm whether
there are any similar problems with the last week's ide-cd panic:
http://lkml.org/lkml/2008/1/29/140
And I found a possible similar
From: Andrew Morton [EMAIL PROTECTED]
mips:
drivers/ata/sata_mv.c: In function `mv_port_free_dma_mem':
drivers/ata/sata_mv.c:1080: error: implicit declaration of function
`dma_pool_free'
Cc: Jeff Garzik [EMAIL PROTECTED]
Signed-off-by: Andrew Morton [EMAIL PROTECTED]
---
Yes, we can be more smart if necessary. I don't know. The hardware is
clearly violating the spec which requires those two values to agree.
So are you saying the ESB2 spec is violating a higher level spec? I know
almost nothing about AHCI, so please forgive that question...
What status values
DMA start address and transfer size alignment for PC requests are
achieved using bio_copy_user() instead of bio_map_user(). This works
because bio_copy_user() always uses full pages and block DMA alignment
isn't allowed to go over PAGE_SIZE.
However, the implementation didn't update the last bio
This patchset updates block layer padding and draining support and
make libata use it. It's based on James Bottomley's initial work and,
of the five, the last two patches are from James with some
modifications.
Please read the following thread for more info.
With padding and draining moved into it, block layer now may extend
requests as directed by queue parameters, so now a request has two
sizes - the original request size and the extended size which matches
the size of area pointed to by bios and later by sgs. The latter size
is what lower layers
From: James Bottomley [EMAIL PROTECTED]
From: James Bottomley [EMAIL PROTECTED]
ATA requires that all DMA transfers begin and end on word boundaries.
Because of this, a large amount of machinery grew up in ide to adjust
scatterlists on this basis. However, as of 2.5, the block layer has a
From: James Bottomley [EMAIL PROTECTED]
From: James Bottomley [EMAIL PROTECTED]
This just updates the libata slave configure routine to take advantage
of the block layer drain buffers. It also adjusts the size lengths in
the atapi code to add the drain buffer to the DMA length so the driver
70 matches
Mail list logo