ll_ras_enter() is expected to be called per syscall.
However, with fast read enabled, it will be no longer true that
We will call vvp_io_read_start() for every syscall.
To fix this problem, we should move this to file read handler.
Change-Id: I8d70714b2e8bc04b7c4ab996d189f10f37488d97
Signed-off-by: Wang Shilong <wshilong@ddn.com>
Reviewed-on: https://review.whamcloud.com/34755
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@gmail.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
ssize_t rc2;
__u16 refcheck;
+ ll_ras_enter(iocb->ki_filp);
+
result = ll_do_fast_read(iocb, to);
if (result < 0 || iov_iter_count(to) == 0)
GOTO(out, result);
__u16 refcheck;
ENTRY;
+ ll_ras_enter(in_file);
+
env = cl_env_get(&refcheck);
if (IS_ERR(env))
RETURN(PTR_ERR(env));
vio->vui_ra_valid = true;
vio->vui_ra_start = cl_index(obj, pos);
vio->vui_ra_count = cl_index(obj, tot + PAGE_SIZE - 1);
- ll_ras_enter(file);
}
/* BUG: 5972 */