1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
--- a/fs/mini_fo/dentry.c
+++ b/fs/mini_fo/dentry.c
@@ -96,7 +96,7 @@ mini_fo_d_hash(dentry_t *dentry, qstr_t
if(hidden_sto_dentry &&
hidden_sto_dentry->d_op &&
hidden_sto_dentry->d_op->d_hash) {
- err = hidden_sto_dentry->d_op->d_hash(hidden_sto_dentry, name);
+ err = hidden_sto_dentry->d_op->d_hash(hidden_sto_dentry, hidden_sto_dentry->d_inode, name);
}
goto out;
}
@@ -106,7 +106,7 @@ mini_fo_d_hash(dentry_t *dentry, qstr_t
if(hidden_dentry &&
hidden_dentry->d_op &&
hidden_dentry->d_op->d_hash) {
- err = hidden_dentry->d_op->d_hash(hidden_dentry, name);
+ err = hidden_dentry->d_op->d_hash(hidden_dentry, hidden_dentry->d_inode, name);
}
goto out;
}
@@ -116,14 +116,14 @@ mini_fo_d_hash(dentry_t *dentry, qstr_t
if(hidden_sto_dentry &&
hidden_sto_dentry->d_op &&
hidden_sto_dentry->d_op->d_hash) {
- err = hidden_sto_dentry->d_op->d_hash(hidden_sto_dentry, name);
+ err = hidden_sto_dentry->d_op->d_hash(hidden_sto_dentry, hidden_sto_dentry->d_inode, name);
goto out;
}
hidden_dentry = dtohd(dentry);
if(hidden_dentry &&
hidden_dentry->d_op &&
hidden_dentry->d_op->d_hash) {
- err = hidden_dentry->d_op->d_hash(hidden_dentry, name);
+ err = hidden_dentry->d_op->d_hash(hidden_dentry, hidden_dentry->d_inode, name);
goto out;
}
}
@@ -148,7 +148,8 @@ mini_fo_d_compare(dentry_t *dentry, qstr
hidden_dentry = dtohd(dentry);
if (hidden_dentry && hidden_dentry->d_op && hidden_dentry->d_op->d_compare) {
- err = hidden_dentry->d_op->d_compare(hidden_dentry, a, b);
+ err = hidden_dentry->d_op->d_compare(NULL, NULL, NULL, NULL,
+ hidden_dentry->d_name.len, a, b);
} else {
err = ((a->len != b->len) || memcmp(a->name, b->name, b->len));
}
|