staging: lustre: osc: set lock data for readahead lock
If osc_io_readahead() finds a lock that belongs to the previous instance of osc_object, the lock data pointer will be null. It has to instantiate with new instance otherwise those pages won't be destroyed at lock cancel, and then finally hit the assertion in osc_req_attr_set(). This patch revised dlmlock_at_pgoff() to call osc_match_base() to find caching locks for readahead. And new osc_object will be set to the lock if it doesn't have one yet. Signed-off-by: NJinshan Xiong <jinshan.xiong@intel.com> Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-8005 Reviewed-on: http://review.whamcloud.com/19453Reviewed-by: NBobi Jam <bobijam@hotmail.com> Reviewed-by: NJohn L. Hammond <john.hammond@intel.com> Reviewed-by: NOleg Drokin <oleg.drokin@intel.com> Signed-off-by: NJames Simmons <jsimmons@infradead.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing
想要评论请 注册 或 登录