Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-13030 pcc: auto attach not work after client cache clear
[fs/lustre-release.git]
/
lustre
/
llite
/
pcc.h
diff --git
a/lustre/llite/pcc.h
b/lustre/llite/pcc.h
index
7323a03
..
e704da4
100644
(file)
--- a/
lustre/llite/pcc.h
+++ b/
lustre/llite/pcc.h
@@
-91,20
+91,22
@@
struct pcc_matcher {
};
enum pcc_dataset_flags {
};
enum pcc_dataset_flags {
- PCC_DATASET_NONE = 0x0,
+ PCC_DATASET_INVALID = 0x0,
+ /* Indicate that known the file is not in PCC. */
+ PCC_DATASET_NONE = 0x01,
/* Try auto attach at open, enabled by default */
/* Try auto attach at open, enabled by default */
- PCC_DATASET_OPEN_ATTACH = 0x0
1
,
+ PCC_DATASET_OPEN_ATTACH = 0x0
2
,
/* Try auto attach during IO when layout refresh, enabled by default */
/* Try auto attach during IO when layout refresh, enabled by default */
- PCC_DATASET_IO_ATTACH = 0x0
2
,
+ PCC_DATASET_IO_ATTACH = 0x0
4
,
/* Try auto attach at stat */
/* Try auto attach at stat */
- PCC_DATASET_STAT_ATTACH = 0x0
4
,
+ PCC_DATASET_STAT_ATTACH = 0x0
8
,
PCC_DATASET_AUTO_ATTACH = PCC_DATASET_OPEN_ATTACH |
PCC_DATASET_IO_ATTACH |
PCC_DATASET_STAT_ATTACH,
/* PCC backend is only used for RW-PCC */
PCC_DATASET_AUTO_ATTACH = PCC_DATASET_OPEN_ATTACH |
PCC_DATASET_IO_ATTACH |
PCC_DATASET_STAT_ATTACH,
/* PCC backend is only used for RW-PCC */
- PCC_DATASET_RWPCC = 0x
08
,
+ PCC_DATASET_RWPCC = 0x
10
,
/* PCC backend is only used for RO-PCC */
/* PCC backend is only used for RO-PCC */
- PCC_DATASET_ROPCC = 0x
1
0,
+ PCC_DATASET_ROPCC = 0x
2
0,
/* PCC backend provides caching services for both RW-PCC and RO-PCC */
PCC_DATASET_PCC_ALL = PCC_DATASET_RWPCC | PCC_DATASET_ROPCC,
};
/* PCC backend provides caching services for both RW-PCC and RO-PCC */
PCC_DATASET_PCC_ALL = PCC_DATASET_RWPCC | PCC_DATASET_ROPCC,
};
@@
-113,7
+115,7
@@
struct pcc_dataset {
__u32 pccd_rwid; /* Archive ID */
__u32 pccd_roid; /* Readonly ID */
struct pcc_match_rule pccd_rule; /* Match rule */
__u32 pccd_rwid; /* Archive ID */
__u32 pccd_roid; /* Readonly ID */
struct pcc_match_rule pccd_rule; /* Match rule */
- enum pcc_dataset_flags pccd_flags; /*
f
lags of PCC backend */
+ enum pcc_dataset_flags pccd_flags; /*
F
lags of PCC backend */
char pccd_pathname[PATH_MAX]; /* full path */
struct path pccd_path; /* Root path */
struct list_head pccd_linkage; /* Linked to pccs_datasets */
char pccd_pathname[PATH_MAX]; /* full path */
struct path pccd_path; /* Root path */
struct list_head pccd_linkage; /* Linked to pccs_datasets */
@@
-127,6
+129,12
@@
struct pcc_super {
struct list_head pccs_datasets;
/* creds of process who forced instantiation of super block */
const struct cred *pccs_cred;
struct list_head pccs_datasets;
/* creds of process who forced instantiation of super block */
const struct cred *pccs_cred;
+ /*
+ * Gobal PCC Generation: it will be increased once the configuration
+ * for PCC is changed, i.e. add or delete a PCC backend, modify the
+ * parameters for PCC.
+ */
+ __u64 pccs_generation;
};
struct pcc_inode {
};
struct pcc_inode {
@@
-176,7
+184,9
@@
enum pcc_io_type {
/* fsync system call handling */
PIT_FSYNC,
/* splice_read system call */
/* fsync system call handling */
PIT_FSYNC,
/* splice_read system call */
- PIT_SPLICE_READ
+ PIT_SPLICE_READ,
+ /* open system call */
+ PIT_OPEN
};
enum pcc_cmd_type {
};
enum pcc_cmd_type {