1 .\" Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
2 .\" Use is subject to license terms.
4 .\" Author: Andreas Dilger <adilger@sun.com>
5 .TH write_append_truncate 1 "Oct 29, 2008" Lustre "utilities"
7 write_append_truncate \- MPI test of concurrent file operation coherency
9 .B write_append_truncate
27 .B write_append_truncate
28 program does data coherency testing for parallel filesystem using
30 to launch and co-ordinate processes. It runs multiple parallel
31 processes on one or more nodes, as specified to
34 or other MPI job launcher, each operating on the same shared file.
36 The master process creates
42 test iterations one process truncates the file to zero size and writes
43 a random number of check bytes,
50 Other processes wait on an MPI barrier until
51 this is complete. One of the processes is chosen, to do an append
59 bytes to the end of the file. A second process does a concurrent
61 operation on the file to a random size,
65 bytes beyond the end of the initial
67 bytes data. This truncate will either extend the file size if it is
68 done before the append, or it will truncate the file if it is done
71 A second MPI barrier ensures both of the processes have completed
72 their respective operations, and then the master process reads the entire
73 file and verifies the contents.
75 The beginning of the file is verified to contain the
77 check bytes up to the offset it was initially filled to.
79 If the file size is equal to the truncated size,
81 then the truncate operation was done
83 the append and the data beyond the initial write offset
89 bytes of append check data, and possibly a zero-filled hole at the
95 Otherwise, the truncate operation was done
97 the append and the data beyond the initial write offset
99 to the truncate offset
101 should be a zero-filled hole. Beyond the hole to the end of file
104 bytes of append check data. The total file size should be
105 .BR W " + " T " + " A .