Breaking up a bvec in a bio for reading more than 512

Pranay Srivastava pranjas at gmail.com
Sat Jan 4 11:32:44 EST 2014


On 04-Jan-2014 5:18 AM, "neha naik" <nehanaik27 at gmail.com> wrote:
>
> Hi All,
>    I am getting a request with bvec->bv_len > 512. Now, the
> information to be read is scattered across the entire disk in 512
> chunks. So that, information on disk can be : sector 8, sector 100,
> sector 9.
>  Now if i get a request to read with the bvec->bv_len > 512 i need to
> pull in the information from
> multiple places on disk since the data is not sequentially located.
>  I tried to look at the linux source code because i think raid must be
> doing it all the time. (eg : on disk 1 we may be storing sector 6 and
> on disk 2 we may be storing sector 7 and so on).

You are right. Perhaps you need to clone the bio and set them properly. I
guess you ought to check dm driver's make_request function. It does clone
bio.

I don't know if you can split that request while handling it. Perhaps
reinserting that request could work.

>   However, i have not really got any useful information from it. Also
> scouring through articles on
> google has not helped much.
>    I am hoping somebody points me in the right direction.
>
> Thanks in advance,
> Neha
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

      ---P.K.S
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140104/bb2e381f/attachment.html 


More information about the Kernelnewbies mailing list