#define LOV_PATTERN_DEFAULT 0xffffffff
#define LOV_OFFSET_DEFAULT ((__u16)-1)
+#define LMV_OFFSET_DEFAULT ((__u32)-1)
static inline bool lov_pattern_supported(__u32 pattern)
{
* might be interpreted differently with different flags. */
#define LMV_HASH_TYPE_MASK 0x0000ffff
-/* once this is set on a plain directory default layout, newly created
- * subdirectories will be distributed on all MDTs by space usage.
- */
-#define LMV_HASH_FLAG_SPACE 0x08000000
+static inline bool lmv_is_known_hash_type(__u32 type)
+{
+ return (type & LMV_HASH_TYPE_MASK) == LMV_HASH_TYPE_FNV_1A_64 ||
+ (type & LMV_HASH_TYPE_MASK) == LMV_HASH_TYPE_ALL_CHARS;
+}
/* The striped directory has ever lost its master LMV EA, then LFSCK
* re-generated it. This flag is used to indicate such case. It is an
PCC_STATE_FL_ATTACHING = 0x02,
/* Allow to auto attach at open */
PCC_STATE_FL_OPEN_ATTACH = 0x04,
+ /* Allow to auto attach during I/O after layout lock revocation */
+ PCC_STATE_FL_IO_ATTACH = 0x08,
+ /* Allow to auto attach at stat */
+ PCC_STATE_FL_STAT_ATTACH = 0x10,
+ /* Allow to auto attach at the next open or layout refresh */
+ PCC_STATE_FL_AUTO_ATTACH = PCC_STATE_FL_OPEN_ATTACH |
+ PCC_STATE_FL_IO_ATTACH |
+ PCC_STATE_FL_STAT_ATTACH,
};
struct lu_pcc_state {