Whamcloud - gitweb
LU-3259 clio: Revise read ahead implementation 59/10859/17
authorJinshan Xiong <jinshan.xiong@intel.com>
Fri, 16 Jan 2015 19:23:38 +0000 (11:23 -0800)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 12 Mar 2015 03:07:07 +0000 (03:07 +0000)
commitdb47990bbf7c59474f4c5ca28f96fdf424275516
tree5a29f22b7edd50fb4aafe336a42354bf52ccd634
parentc65d83dd93fc61c44a1f0503e196a123d57dfb88
LU-3259 clio: Revise read ahead implementation

In this implementation, read ahead will hold the underlying DLM lock
to add read ahead pages. A new cl_io operation cio_read_ahead() is
added for this purpose. It takes parameter cl_read_ahead{} so that
each layer can adjust it by their own requirements. For example, at
OSC layer, it will make sure the read ahead region is covered by a
LDLM lock; at the LOV layer, it will make sure that the region won't
cross stripe boundary.

Legacy callback cpo_is_under_lock() is removed.

Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Change-Id: Ic388e3a3f744ea5a8352cc8529e32a71073bddb3
Reviewed-on: http://review.whamcloud.com/10859
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
15 files changed:
lustre/doc/clio.txt
lustre/include/cl_object.h
lustre/llite/llite_internal.h
lustre/llite/rw.c
lustre/llite/vvp_io.c
lustre/llite/vvp_page.c
lustre/lov/lov_io.c
lustre/lov/lov_page.c
lustre/obdclass/cl_io.c
lustre/obdclass/cl_page.c
lustre/osc/osc_cache.c
lustre/osc/osc_internal.h
lustre/osc/osc_io.c
lustre/osc/osc_lock.c
lustre/osc/osc_page.c