summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/inode.h
diff options
context:
space:
mode:
authorMohammed Rafi KC <rkavunga@redhat.com>2017-05-03 17:19:57 +0530
committerJeff Darcy <jeff@pl.atyp.us>2017-05-14 13:13:59 +0000
commit269e2ccf45ddc662d8373eb887ae6cef96e2ef37 (patch)
treeca0344bee23cf084771cdc306059ecd0e2f3866a /libglusterfs/src/inode.h
parent642f3e290ade6a5a7087816a5cf633083ef9f608 (diff)
gfapi: fix handling of dot and double dot in path
This patch is to handle "." and ".." in file path. Which means this special dentry names will be resolved before sending fops on the path. Change-Id: I5e92f6d1ad1412bf432eb2488e53fb7731edb013 BUG: 1447266 Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com> Reviewed-on: https://review.gluster.org/17177 Smoke: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Niels de Vos <ndevos@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
Diffstat (limited to 'libglusterfs/src/inode.h')
-rw-r--r--libglusterfs/src/inode.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h
index cdc2095a0e8..253196378a8 100644
--- a/libglusterfs/src/inode.h
+++ b/libglusterfs/src/inode.h
@@ -286,4 +286,21 @@ inode_has_dentry (inode_t *inode);
size_t
inode_ctx_size (inode_t *inode);
+/*
+ * This function is used to change the dentry from a path
+ * if it contains any "." or ".." .
+ *
+ * It replaces "." and ".." to proper bname after resolving
+ * and will change the component accordingly.
+ *
+ * This fucntion also replaces the parent inode based on the
+ * bname.
+ *
+ * We should give a allocated memory as a third argument to store
+ * the component in case if we are modifying it.
+ */
+
+void
+glusterfs_normalize_dentry (inode_t **parent, char **component,
+ char *dentry_name);
#endif /* _INODE_H */