Hello,
I'm trying to read a 4KB block using __bread from a SATA device but I get
the following error:
__find_get_block_slow() failed. block=1, b_blocknr=0
b_state=0x0029, b_size=4096
If I try to read a 2K block (which is the hard sector size of the device),
it works fine.
Kernel version is
I am developing a stacking block driver and so far the driver was accepting
requests using the 'make_request' function (without a queue). When I switched to
using a request queue, I noticed that the driver received much more reuquests
in a
single call, which is very good for me.
The problem is th
I have isolated the problem a little bit. Here's what I do:
struct buffer_head *bh;
sector_t sector = 0;
bh = __bread(bdev, sector, bdev_get_queue(bdev)->hardsect_size);
brelse(bh);
sector++;
bh = __bread(bdev, sector, bdev_get_queue(bdev)->hardsect_size);
brelse(bh);
And I get this error:
BUG:
I've written a module that acts as a cache for fixed size objects but I'm
getting a soft lockup using the buffer cache as backing storage.
I've attached the code that reproduces the error. You need to supply the module
with a valid block device, i.e. insmod disk_cache.ko devname="/dev/hda2".
Th
4 matches
Mail list logo