summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShehjar Tikoo <shehjart@zresearch.com>2009-04-20 12:34:58 -0700
committerAnand V. Avati <avati@amp.gluster.com>2009-04-21 12:49:59 +0530
commita7205e78bfb962d9e5ff11db2a0b394e6db03256 (patch)
treecd1ca6ee471b693e5812e548e1044d611d82fd35
parente707afad9f6282bc425f8b0262ea5a6db018ec92 (diff)
libglusterfsclient: Add VMP-based utime
Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.c26
-rwxr-xr-xlibglusterfsclient/src/libglusterfsclient.h9
2 files changed, 33 insertions, 2 deletions
diff --git a/libglusterfsclient/src/libglusterfsclient.c b/libglusterfsclient/src/libglusterfsclient.c
index da10c3b1bbf..2ab95d1f565 100755
--- a/libglusterfsclient/src/libglusterfsclient.c
+++ b/libglusterfsclient/src/libglusterfsclient.c
@@ -4894,8 +4894,8 @@ out:
}
int
-glusterfs_utime (glusterfs_handle_t handle, const char *path,
- const struct utimbuf *buf)
+glusterfs_glh_utime (glusterfs_handle_t handle, const char *path,
+ const struct utimbuf *buf)
{
int32_t op_ret = -1;
loc_t loc = {0, };
@@ -4939,6 +4939,28 @@ out:
return op_ret;
}
+int
+glusterfs_utime (const char *path, const struct utimbuf *buf)
+{
+ struct vmp_entry *entry = NULL;
+ char *vpath = NULL;
+ int op_ret = -1;
+
+ GF_VALIDATE_OR_GOTO (LIBGF_XL_NAME, path, out);
+ GF_VALIDATE_OR_GOTO (LIBGF_XL_NAME, buf, out);
+
+ entry = libgf_vmp_search_entry ((char *)path);
+ if (!entry) {
+ errno = ENODEV;
+ goto out;
+ }
+
+ vpath = libgf_vmp_virtual_path (entry, path);
+ op_ret = glusterfs_glh_utime (entry->handle, vpath, buf);
+out:
+ return op_ret;
+}
+
static int32_t
libgf_client_mknod_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
int32_t op_ret, int32_t op_errno,
diff --git a/libglusterfsclient/src/libglusterfsclient.h b/libglusterfsclient/src/libglusterfsclient.h
index 0381650c342..b4454a37012 100755
--- a/libglusterfsclient/src/libglusterfsclient.h
+++ b/libglusterfsclient/src/libglusterfsclient.h
@@ -30,6 +30,8 @@ __BEGIN_DECLS
#include <dirent.h>
#include <sys/vfs.h>
#include <sys/statvfs.h>
+#include <utime.h>
+#include <sys/time.h>
typedef struct {
struct iovec *vector;
@@ -306,6 +308,13 @@ glusterfs_glh_utimes (glusterfs_handle_t handle, const char *path,
int
glusterfs_utimes (const char *path, const struct timeval times[2]);
+
+int
+glusterfs_glh_utime (glusterfs_handle_t handle, const char *path,
+ const struct utimbuf *buf);
+
+int
+glusterfs_utime (const char *path, const struct utimbuf *buf);
/* FIXME: review the need for these apis */
/* added for log related initialization in booster fork implementation */
void