https://github.com/linuxkit/linuxkit/tree/master/projects/shiftfs/patches-4.11.x の 4.14, 4.15 対応パッチ。動作確認していません。
0001, 0002 を適用後に 0003 を適用してください。
4.15 カーネルに適用する場合は、0003 を適用後に 0004 を適用してください。
https://github.com/linuxkit/linuxkit/tree/master/projects/shiftfs/patches-4.11.x の 4.14, 4.15 対応パッチ。動作確認していません。
0001, 0002 を適用後に 0003 を適用してください。
4.15 カーネルに適用する場合は、0003 を適用後に 0004 を適用してください。
From a4576375661775827570a7e620443ad15a3e6db9 Mon Sep 17 00:00:00 2001 | |
From: KATOH Yasufumi <[email protected]> | |
Date: Wed, 11 Oct 2017 16:47:24 +0900 | |
Subject: [PATCH 3/3] shiftfs: update to fit d_real of struct dentry_operations | |
Signed-off-by: KATOH Yasufumi <[email protected]> | |
--- | |
fs/shiftfs.c | 3 ++- | |
1 file changed, 2 insertions(+), 1 deletion(-) | |
diff --git a/fs/shiftfs.c b/fs/shiftfs.c | |
index fbe336c..1fca901 100644 | |
--- a/fs/shiftfs.c | |
+++ b/fs/shiftfs.c | |
@@ -109,12 +109,13 @@ static void shiftfs_d_release(struct dentry *dentry) | |
static struct dentry *shiftfs_d_real(struct dentry *dentry, | |
const struct inode *inode, | |
+ unsigned int open_flags, | |
unsigned int flags) | |
{ | |
struct dentry *real = dentry->d_fsdata; | |
if (unlikely(real->d_flags & DCACHE_OP_REAL)) | |
- return real->d_op->d_real(real, real->d_inode, flags); | |
+ return real->d_op->d_real(real, real->d_inode, open_flags, flags); | |
return real; | |
} | |
-- | |
2.12.2 | |
From 022171fd7f90cfdb5b1238c44f4a2cf2b9c238fe Mon Sep 17 00:00:00 2001 | |
From: KATOH Yasufumi <[email protected]> | |
Date: Tue, 9 Jan 2018 20:44:34 +0900 | |
Subject: [PATCH] fs/shiftfs: Convert ACCESS_ONCE to READ_ONCE | |
--- | |
fs/shiftfs.c | 2 +- | |
1 file changed, 1 insertion(+), 1 deletion(-) | |
diff --git a/fs/shiftfs.c b/fs/shiftfs.c | |
index 1fca901..b89fd03 100644 | |
--- a/fs/shiftfs.c | |
+++ b/fs/shiftfs.c | |
@@ -628,7 +628,7 @@ static struct inode *shiftfs_new_inode(struct super_block *sb, umode_t mode, | |
* may be aliases plus a few others. | |
*/ | |
if (reali) | |
- use_inode_hash = ACCESS_ONCE(reali->i_nlink) > 1 && | |
+ use_inode_hash = READ_ONCE(reali->i_nlink) > 1 && | |
!S_ISDIR(reali->i_mode); | |
if (use_inode_hash) { | |
-- | |
2.12.2 | |
4.16にも適用できます