summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Vesnovaty <[email protected]>2013-08-12 21:47:04 +0300
committerBrian Behlendorf <[email protected]>2015-08-31 13:54:39 -0700
commitb23975cbe0f249671c131b0d6e4ae1bb10594440 (patch)
tree1fce868fb3f4190df8a375b6f39113b57c44a0b3
parentc6a3a222d3a1d2af94205a218c0ba455200fb945 (diff)
zfsctl: No need to sync ctldir inodes
There's no metadata to write to disk for ctldir inodes. So we check if a inode belongs to the ctldir in zpl_commit_metadata, and returns immediately if it is. Signed-off-by: Andrey Vesnovaty <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Issue #2797
-rw-r--r--module/zfs/zpl_export.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/module/zfs/zpl_export.c b/module/zfs/zpl_export.c
index 4da3a4531..6f051a048 100644
--- a/module/zfs/zpl_export.c
+++ b/module/zfs/zpl_export.c
@@ -152,6 +152,9 @@ zpl_commit_metadata(struct inode *inode)
fstrans_cookie_t cookie;
int error;
+ if (zfsctl_is_node(inode))
+ return (0);
+
crhold(cr);
cookie = spl_fstrans_mark();
error = -zfs_fsync(inode, 0, cr);