git://git.camperquake.de
/
zfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Illumos #3086: unnecessarily setting DS_FLAG_INCONSISTENT on async
[zfs.git]
/
module
/
zfs
/
zpl_ctldir.c
diff --git
a/module/zfs/zpl_ctldir.c
b/module/zfs/zpl_ctldir.c
index
7dfaf6e
..
a2d8fa9
100644
(file)
--- a/
module/zfs/zpl_ctldir.c
+++ b/
module/zfs/zpl_ctldir.c
@@
-357,6
+357,13
@@
zpl_snapdir_automount(struct path *path)
return ERR_PTR(error);
/*
return ERR_PTR(error);
/*
+ * Ensure path->dentry points to the dentry for the root of the
+ * newly-mounted snapshot, otherwise this function may be called
+ * repeatedly which can lead to an incorrect ELOOP error return.
+ */
+ follow_up(path);
+
+ /*
* Rather than returning the new vfsmount for the snapshot we must
* return NULL to indicate a mount collision. This is done because
* the user space mount calls do_add_mount() which adds the vfsmount
* Rather than returning the new vfsmount for the snapshot we must
* return NULL to indicate a mount collision. This is done because
* the user space mount calls do_add_mount() which adds the vfsmount