aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorChen Haiquan <[email protected]>2016-08-04 23:57:35 +0800
committerBrian Behlendorf <[email protected]>2016-08-11 12:06:37 -0700
commitd9c97ec08b995f1a36657accc4bbc6057645a72c (patch)
treef2262c55fe0e9a4cd656c90553f9e95d20e28000 /include/sys
parentd5884c3453c5de5892eaae672c5186ed02846113 (diff)
Use file_dentry and file_inode wrappers
Fix bugs due to kernel change in torvalds/linux@4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and f_inode to the underlay"). This problem crashes system when use zfs as a layer of overlayfs. Signed-off-by: Chen Haiquan <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #4914 Closes #4935
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/zpl.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/sys/zpl.h b/include/sys/zpl.h
index c6085481b..386cf6d09 100644
--- a/include/sys/zpl.h
+++ b/include/sys/zpl.h
@@ -156,14 +156,14 @@ static inline bool
dir_emit_dot(struct file *file, struct dir_context *ctx)
{
return (ctx->actor(ctx->dirent, ".", 1, ctx->pos,
- file->f_path.dentry->d_inode->i_ino, DT_DIR) == 0);
+ file_inode(file)->i_ino, DT_DIR) == 0);
}
static inline bool
dir_emit_dotdot(struct file *file, struct dir_context *ctx)
{
return (ctx->actor(ctx->dirent, "..", 2, ctx->pos,
- parent_ino(file->f_path.dentry), DT_DIR) == 0);
+ parent_ino(file_dentry(file)), DT_DIR) == 0);
}
static inline bool