Re: Problems with 2.6.8.1, loop-AES and ext3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Gümbel wrote:
> I applied the patch and tested it. The error remains there - both the
> "ls /tmp" (encrypted reiserfs) error and the "ls
> ~/Mail/Spamverdacht/new/" (encrypted ext3) error.
> 
> These are dmesg lines starting with "loop" after trying the /tmp error:
> 
> guembel@marsupilami v4 $ cat dmesg_tmp_input_output_error.txt | grep ^loop
> loop: loaded (max 8 devices)
> loop1: loop_end_io_transfer err=-11 bi_rw=0x2
> loop1: loop_end_io_transfer err=-11 bi_rw=0x2
> loop1: loop_end_io_transfer err=-11 bi_rw=0x2

Got it!

Above means that underlying device I/O elevator (hda), failed read-ahead
requests (bi_rw=0x2) with -EWOULDBLOCK error code (err=-11, uses same error
code as -EAGAIN). I/O elevator treats read-ahead requests little bit more
relaxed than normal read or write requests. It has liberty to fail them in
case of congestion or free memory pressure. Loop driver reported underlying
device error to file system on top of loop device. File system should have
ignored failed read-ahead requests, but it didn't, so you saw I/O errors as
result. Same situation can happen on unencrypted file systems that do not go
through loop device. It is a kernel bug.

Can you test attached patch? It transforms read-ahead requests from file
system to normal reads for underlying device. Normal read requests should
not fail with -EWOULDBLOCK so this should cure the problem.

-- 
Jari Ruusu  1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9  DB 1D EB E3 24 0E A9 DD

Attachment: v2.1c-5.diff.bz2
Description: Binary data


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux