From: Pekka Enberg <[email protected]>
This patch removes the DEPRECATED comment from ll_rw_block(). The function
is still in active use and there isn't any real replacement for it.
Cc: Andrew Morton <[email protected]>
Cc: Jens Axboe <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Signed-off-by: Pekka Enberg <[email protected]>
---
fs/buffer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: 2.6/fs/buffer.c
===================================================================
--- 2.6.orig/fs/buffer.c
+++ 2.6/fs/buffer.c
@@ -2830,7 +2830,7 @@ int submit_bh(int rw, struct buffer_head
}
/**
- * ll_rw_block: low-level access to block devices (DEPRECATED)
+ * ll_rw_block: low-level access to block devices
* @rw: whether to %READ or %WRITE or %SWRITE or maybe %READA (readahead)
* @nr: number of &struct buffer_heads in the array
* @bhs: array of pointers to &struct buffer_head
On Mon, Feb 06 2006, Pekka Enberg wrote:
> From: Pekka Enberg <[email protected]>
>
> This patch removes the DEPRECATED comment from ll_rw_block(). The function
> is still in active use and there isn't any real replacement for it.
It is still deprecated, so I think the comment should stay. There are
plenty ways to accomplish what ll_rw_block does (and more efficiently,
array of bh's is not very nice to say the least) and the buffer_head
isn't even an io unit anymore.
--
Jens Axboe
On Mon, Feb 06 2006, Pekka Enberg wrote:
> > This patch removes the DEPRECATED comment from ll_rw_block(). The function
> > is still in active use and there isn't any real replacement for it.
On Mon, 6 Feb 2006, Jens Axboe wrote:
> It is still deprecated, so I think the comment should stay. There are
> plenty ways to accomplish what ll_rw_block does (and more efficiently,
> array of bh's is not very nice to say the least) and the buffer_head
> isn't even an io unit anymore.
To clarify, what ways are there? When we need to access the data, use
submit_bh() and when we just want the I/O to be done, generic_make_request()?
Pekka
On Tue, Feb 07 2006, Pekka J Enberg wrote:
> On Mon, Feb 06 2006, Pekka Enberg wrote:
> > > This patch removes the DEPRECATED comment from ll_rw_block(). The function
> > > is still in active use and there isn't any real replacement for it.
>
> On Mon, 6 Feb 2006, Jens Axboe wrote:
> > It is still deprecated, so I think the comment should stay. There are
> > plenty ways to accomplish what ll_rw_block does (and more efficiently,
> > array of bh's is not very nice to say the least) and the buffer_head
> > isn't even an io unit anymore.
>
> To clarify, what ways are there? When we need to access the data, use
> submit_bh() and when we just want the I/O to be done,
> generic_make_request()?
Generally you want to move to using a bio instead of a bh. Once you do
that, you can submit > 1 page of io a lot more efficiently than what
ll_rw_block() is doing. submit_bh() is just a 'wrapper' on top of the
real io interface, your explanation of the two doesn't make sense.
generic_make_request() is typically something a low level driver like md
or dm would use to submit a formed bio to a device, it's not something
you'd expect other parts of the kernel to use. If you look at the newer
io parts in the kernel (in fs/ and mm/), you'll see them using
submit_bio() mostly.
--
Jens Axboe