On Wed, Sep 29, 2010 at 13:37, Sebastian 'gonX' Jensen
<[email protected]> wrote:
[...]
>>
>> Which kernel is that?
> It was one of the 2.6.35 versions from the Ubuntu repository. I'm
> running Ubuntu 10.04 Server.
>

Since 2.6.32 works, you should report that bug to Ubuntu.

The upstream commit is f281fb5fe54e15a7ab802945e42f8e24fceb56b2,
pasted below, merged Sep 25:

----
commit f281fb5fe54e15a7ab802945e42f8e24fceb56b2
Author: Adrian Hunter <[email protected]>
Date:   Sat Sep 25 12:42:55 2010 +0200

    block: prevent merges of discard and write requests

    Add logic to prevent two I/O requests being merged if
    only one of them is a discard.  Ditto secure discard.

    Without this fix, it is possible for write requests
    to transform into discard requests.  For example:

      Submit bio 1 to discard 8 sectors from sector n
      Submit bio 2 to write 8 sectors from sector n + 16
      Submit bio 3 to write 8 sectors from sector n + 8

    Bio 1 becomes request 1.  Bio 2 becomes request 2.
    Bio 3 is merged with request 2, and then subsequently
    request 2 is merged with request 1 resulting in just
    one I/O request which discards all 24 sectors.

    Signed-off-by: Adrian Hunter <[email protected]>

    (Moved the checks above the position checks /Jens)

    Signed-off-by: Jens Axboe <[email protected]>
----

-- 
Francis Galiegue, [email protected]
"It seems obvious [...] that at least some 'business intelligence'
tools invest so much intelligence on the business side that they have
nothing left for generating SQL queries" (Stéphane Faroult, in "The
Art of SQL", ISBN 0-596-00894-5)
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to