X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=drivers%2Fstaging%2Flustre%2Flustre%2Fllite%2Fllite_mmap.c;fp=drivers%2Fstaging%2Flustre%2Flustre%2Fllite%2Fllite_mmap.c;h=5b4382cca0d752a9e04b213da2a7a9ef1ffb1420;hb=30889c72a9fe53b3d4303464fc688497cbb14219;hp=83d7006546dcd341a3537ba7c37e75f7e6ff33b2;hpb=6cead36d284f230d29c2500c774180b8c716d4e6;p=cascardo%2Flinux.git diff --git a/drivers/staging/lustre/lustre/llite/llite_mmap.c b/drivers/staging/lustre/lustre/llite/llite_mmap.c index 83d7006546dc..5b4382cca0d7 100644 --- a/drivers/staging/lustre/lustre/llite/llite_mmap.c +++ b/drivers/staging/lustre/lustre/llite/llite_mmap.c @@ -123,6 +123,7 @@ ll_fault_io_init(struct vm_area_struct *vma, struct lu_env **env_ret, *env_ret = env; +restart: io = vvp_env_thread_io(env); io->ci_obj = ll_i2info(inode)->lli_clob; LASSERT(io->ci_obj); @@ -157,6 +158,9 @@ ll_fault_io_init(struct vm_area_struct *vma, struct lu_env **env_ret, } else { LASSERT(rc < 0); cl_io_fini(env, io); + if (io->ci_need_restart) + goto restart; + cl_env_nested_put(nest, env); io = ERR_PTR(rc); }