Whamcloud - gitweb
LU-14647 flr: mmap write/punch does not stale other mirrors
[fs/lustre-release.git] / lustre / lov / lov_io.c
index 74ec3b4..9ffd102 100644 (file)
@@ -226,8 +226,9 @@ static int lov_io_mirror_write_intent(struct lov_io *lio,
        *ext = (typeof(*ext)) { lio->lis_pos, lio->lis_endpos };
        io->ci_need_write_intent = 0;
 
-       if (!(io->ci_type == CIT_WRITE || cl_io_is_trunc(io) ||
-             cl_io_is_mkwrite(io)))
+       if (!(io->ci_type == CIT_WRITE || cl_io_is_mkwrite(io) ||
+             cl_io_is_fallocate(io) || cl_io_is_trunc(io) ||
+             cl_io_is_fault_writable(io)))
                RETURN(0);
 
        /*
@@ -581,7 +582,8 @@ static int lov_io_slice_init(struct lov_io *lio,
        /* check if it needs to instantiate layout */
        if (!(io->ci_type == CIT_WRITE || cl_io_is_mkwrite(io) ||
              cl_io_is_fallocate(io) ||
-             (cl_io_is_trunc(io) && io->u.ci_setattr.sa_attr.lvb_size > 0)))
+             (cl_io_is_trunc(io) && io->u.ci_setattr.sa_attr.lvb_size > 0)) ||
+             cl_io_is_fault_writable(io))
                GOTO(out, result = 0);
 
        /*