Whamcloud - gitweb
LU-1267 lfsck: framework (3) for MDT-OST consistency
[fs/lustre-release.git] / lustre / include / lustre / lustre_lfsck_user.h
index 1e2b011..4d901dc 100644 (file)
  * GPL HEADER END
  */
 /*
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2013, Intel Corporation.
  */
 /*
  * lustre/include/lustre/lustre_lfsck_user.h
  *
  * Lustre LFSCK userspace interfaces.
  *
- * Author: Fan Yong <yong.fan@whamcloud.com>
+ * Author: Fan, Yong <fan.yong@intel.com>
  */
 
 #ifndef _LUSTRE_LFSCK_USER_H
@@ -50,21 +50,28 @@ enum lfsck_type {
 
        /* For MDT-MDT consistency check/repair. */
        LT_DNE          = 0x0002,
+
+       /* For FID-in-dirent and linkEA consistency check/repair. */
+       LT_NAMESPACE    = 0x0004,
 };
 
 #define LFSCK_VERSION_V1       1
+#define LFSCK_VERSION_V2       2
 
 #define LFSCK_TYPES_ALL        ((__u16)(~0))
 #define LFSCK_TYPES_DEF        ((__u16)0)
-#define LFSCK_TYPES_SUPPORTED  0
+#define LFSCK_TYPES_SUPPORTED  (LT_LAYOUT | LT_NAMESPACE)
 
 #define LFSCK_SPEED_NO_LIMIT   0
 #define LFSCK_SPEED_LIMIT_DEF  LFSCK_SPEED_NO_LIMIT
+#define LFSCK_ASYNC_WIN_DEFAULT 1024
+#define LFSCK_ASYNC_WIN_MAX    ((__u16)(~0))
 
 enum lfsck_start_valid {
        LSV_SPEED_LIMIT         = 0x00000001,
        LSV_ERROR_HANDLE        = 0x00000002,
        LSV_DRYRUN              = 0x00000004,
+       LSV_ASYNC_WINDOWS       = 0x00000008,
 };
 
 /* Arguments for starting lfsck. */
@@ -84,8 +91,15 @@ struct lfsck_start {
        /* Flags for the LFSCK, see 'enum lfsck_param_flags'. */
        __u16   ls_flags;
 
-       /* For 64-bits aligned. */
-       __u16   ls_padding;
+       /* The windows size for async requests pipeline. */
+       __u16   ls_async_windows;
+};
+
+struct lfsck_stop {
+       __u32   ls_status;
+       __u16   ls_flags;
+       __u16   ls_padding_1; /* For 64-bits aligned. */
+       __u64   ls_padding_2;
 };
 
 #endif /* _LUSTRE_LFSCK_USER_H */