2002-07-12 17:32:52

by Thunder from the hill

[permalink] [raw]
Subject: [Q] BIO for O_DIRECT

Hi,

In fs/direct_io.c, we have this construct:

ret = dio_bio_alloc(dio, map_bh.b_bdev,
map_bh.b_blocknr << (blkbits - 9),
DIO_BIO_MAX_SIZE / PAGE_SIZE);

Problem is that BIO_MAX_SIZE isn't static any more with the BIO patch.
BIO_MAX_SIZE / PAGE_SIZE looks like the maximal number of iovecs, which is
dynamic now and can be determined using

bio_max_iovecs(request_queue_t *q, int *iovec_size)

My problem here is that I don't know where to get the parameters from...

Regards,
Thunder
--
(Use http://www.ebb.org/ungeek if you can't decode)
------BEGIN GEEK CODE BLOCK------
Version: 3.12
GCS/E/G/S/AT d- s++:-- a? C++$ ULAVHI++++$ P++$ L++++(+++++)$ E W-$
N--- o? K? w-- O- M V$ PS+ PE- Y- PGP+ t+ 5+ X+ R- !tv b++ DI? !D G
e++++ h* r--- y-
------END GEEK CODE BLOCK------