Whamcloud - gitweb
b=20617
[fs/lustre-release.git] / lustre / utils / lreplicate.h
1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2  * vim:expandtab:shiftwidth=8:tabstop=8:
3  *
4  * GPL HEADER START
5  *
6  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 only,
10  * as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License version 2 for more details (a copy is included
16  * in the LICENSE file that accompanied this code).
17  *
18  * You should have received a copy of the GNU General Public License
19  * version 2 along with this program; If not, see
20  * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
21  *
22  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
23  * CA 95054 USA or visit www.sun.com if you need additional information or
24  * have any questions.
25  *
26  * GPL HEADER END
27  */
28 /*
29  * Copyright  2009 Sun Microsystems, Inc. All rights reserved
30  * Use is subject to license terms.
31  */
32 /*
33  * This file is part of Lustre, http://www.lustre.org/
34  * Lustre is a trademark of Sun Microsystems, Inc.
35  *
36  * lustre/include/lustre/lreplicate.h
37  *
38  */
39
40 #ifndef _LREPLICATE_H_
41 #define _LREPLICATE_H_
42
43 #define LR_NAME_MAXLEN 64
44 #define LR_FID_STR_LEN 128
45
46 /* Structure used by lreplicate. On-disk structures stored in a log
47  * file. This is used to determine the next start record and other
48  * parameters. */
49
50 struct lreplicate_status {
51         __u32   ls_version;           /* Version of the log entry */
52         __u32   ls_size;              /* Size of the log entry */
53         __u64   ls_last_recno;        /* Last replicated record no. */
54         char    ls_registration[LR_NAME_MAXLEN + 1]; /* Changelog registration*/
55         char    ls_mdt_device[LR_NAME_MAXLEN + 1]; /* MDT device */
56         char    ls_source_fs[LR_NAME_MAXLEN + 1]; /* Source Lustre FS */
57         char    ls_source[PATH_MAX + 1];/* Source FS path */
58         __u32   ls_num_targets;       /* No of replication targets */
59         char    ls_targets[0][PATH_MAX + 1]; /* Target FS path */
60 };
61
62 struct lr_parent_child_log {
63         char pcl_pfid[LR_FID_STR_LEN];
64         char pcl_tfid[LR_FID_STR_LEN];
65         char pcl_name[PATH_MAX];
66 };
67
68 #endif /* _LREPLICATE_H_ */