summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShehjar Tikoo <shehjart@zresearch.com>2009-05-11 18:22:42 +0530
committerAnand V. Avati <avati@amp.gluster.com>2009-05-18 19:12:41 +0530
commitdddcf498610ebd332992e9600dd728cc87e6355d (patch)
tree60e66e6de932e121755ba6f90af7b7ebee62bb74
parentaeda0a31977e8da295b913e6a306ff01ccf0ce0a (diff)
libglusterfsclient: Add rewinddir API
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.c21
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.h13
2 files changed, 33 insertions, 1 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c
index 0cfc23e9ef2..3321630d80e 100755
--- a/libglusterfsclient/src/libglusterfsclient.c
+++ b/libglusterfsclient/src/libglusterfsclient.c
@@ -6428,6 +6428,27 @@ out:
return op_ret;
}
+void
+glusterfs_rewinddir (glusterfs_dir_t dirfd)
+{
+ libglusterfs_client_fd_ctx_t *fd_ctx = NULL;
+
+ fd_ctx = libgf_get_fd_ctx ((fd_t *)dirfd);
+ if (!fd_ctx) {
+ errno = EBADF;
+ goto out;
+ }
+
+ pthread_mutex_lock (&fd_ctx->lock);
+ {
+ fd_ctx->offset = 0;
+ }
+ pthread_mutex_unlock (&fd_ctx->lock);
+
+out:
+ return;
+}
+
static struct xlator_fops libgf_client_fops = {
};
diff --git a/libglusterfsclient/src/libglusterfsclient.h b/libglusterfsclient/src/libglusterfsclient.h
index 5376985dbaa..ccf115f1eaf 100755
--- a/libglusterfsclient/src/libglusterfsclient.h
+++ b/libglusterfsclient/src/libglusterfsclient.h
@@ -1192,6 +1192,18 @@ glusterfs_glh_lchown (glusterfs_handle_t handle, const char *path, uid_t owner,
int
glusterfs_lchown (const char *path, uid_t owner, gid_t group);
+
+
+
+/* Rewind directory stream pointer to beginning of the directory.
+ *
+ * @dirfd : Directory handle returned by glusterfs_open on
+ * glusterfs_opendir.
+ *
+ * Returns no value.
+ */
+void
+glusterfs_rewinddir (glusterfs_dir_t dirfd);
/* FIXME: review the need for these apis */
/* added for log related initialization in booster fork implementation */
void
@@ -1208,7 +1220,6 @@ glusterfs_log_unlock (void);
void
glusterfs_free (glusterfs_iobuf_t *buf);
-
__END_DECLS
#endif /* !_LIBGLUSTERFSCLIENT_H */