X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fllite%2Fvvp_io.c;h=007a8b31b6e9a8d6a35870c4fce6f8af9f97c0a0;hp=ac3965f96930c5994be8ddca68d2cf2a5250679e;hb=d1dded6e28473d889a9b24b47cbc804f90dd2956;hpb=6bce536725efd166d2772f13fe954f271f9c53b8 diff --git a/lustre/llite/vvp_io.c b/lustre/llite/vvp_io.c index ac3965f..007a8b3 100644 --- a/lustre/llite/vvp_io.c +++ b/lustre/llite/vvp_io.c @@ -1262,7 +1262,7 @@ static int vvp_io_write_start(const struct lu_env *env, inode_unlock(inode); written = result; - if (result > 0 || result == -EIOCBQUEUED) + if (result > 0) #ifdef HAVE_GENERIC_WRITE_SYNC_2ARGS result = generic_write_sync(vio->vui_iocb, result); #else @@ -1297,12 +1297,13 @@ static int vvp_io_write_start(const struct lu_env *env, /* rewind ki_pos to where it has successfully committed */ vio->vui_iocb->ki_pos = pos + io->ci_nob - nob; } - if (result > 0) { + if (result > 0 || result == -EIOCBQUEUED) { ll_file_set_flag(ll_i2info(inode), LLIF_DATA_MODIFIED); if (result < cnt) io->ci_continue = 0; - result = 0; + if (result > 0) + result = 0; } RETURN(result);