Dear All,
I have two queries regarding i/o at block layer:
1. Segment :
My understanding : One page contains more than one buffer. A couple of buffers combines and makes a segment . A segment contains page, offset and size. Just asking these are true or not ? Second, Can a segment contains such buffers which resides on different pages, I mean to say if one page contains 3 buffers and second page contains 2 buffers, then can it possible that 2 buffers from first page and one buffer from second page will make a segment ? Please clear the confusion.
2. Scatter-gather i/o :
Is it possible that if a request queue comes or in case of bio for each segment, the i/o will happen in such a way that all the buffers which are not adjacent in page ( i mean different buffers from different page) will be processed in one segment which are mapped on blocks residing on disk. Is it possible that those block are also not adjacent ?
My understanding tells that the buffer cann't be consecutive on pages but the corresponding blocks on disk should be consecutive/adjacent. Please cearify this also.
Best Regards,
Krishna