diff options
author | Pranith Kumar K <pranithk@gluster.com> | 2012-09-19 13:36:25 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-09-19 14:58:31 -0700 |
commit | 08bad02bba6d934cc03d50c0bbcce2370ec66416 (patch) | |
tree | 553a6e3e12624cc1c567e6c08a1b0376d9dbc440 /libglusterfs | |
parent | 9cc24de746ce0e616fa09120b89aaa9a626f33cb (diff) |
syncop: Implement access fop
Change-Id: I959144451790d7e47ae48564923d324451a9db23
BUG: 858602
Signed-off-by: Pranith Kumar K <pranithk@gluster.com>
Reviewed-on: http://review.gluster.org/3958
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'libglusterfs')
-rw-r--r-- | libglusterfs/src/syncop.c | 27 | ||||
-rw-r--r-- | libglusterfs/src/syncop.h | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/libglusterfs/src/syncop.c b/libglusterfs/src/syncop.c index 1849be64a..711379666 100644 --- a/libglusterfs/src/syncop.c +++ b/libglusterfs/src/syncop.c @@ -1474,3 +1474,30 @@ syncop_mknod (xlator_t *subvol, loc_t *loc, mode_t mode, dev_t rdev, return args.op_ret; } + +int +syncop_access_cbk (call_frame_t *frame, void *cookie, xlator_t *this, + int32_t op_ret, int32_t op_errno, dict_t *xdata) +{ + struct syncargs *args = NULL; + + args = cookie; + + args->op_ret = op_ret; + args->op_errno = op_errno; + __wake (args); + + return 0; +} + +int +syncop_access (xlator_t *subvol, loc_t *loc, int32_t mask) +{ + struct syncargs args = {0, }; + + SYNCOP (subvol, (&args), syncop_access_cbk, subvol->fops->access, + loc, mask, NULL); + + errno = args.op_errno; + return args.op_ret; +} diff --git a/libglusterfs/src/syncop.h b/libglusterfs/src/syncop.h index 7d0d383b7..4da771dfa 100644 --- a/libglusterfs/src/syncop.h +++ b/libglusterfs/src/syncop.h @@ -258,4 +258,5 @@ int syncop_mknod (xlator_t *subvol, loc_t *loc, mode_t mode, dev_t rdev, dict_t *dict); int syncop_link (xlator_t *subvol, loc_t *oldloc, loc_t *newloc); int syncop_fsyncdir (xlator_t *subvol, fd_t *fd, int datasync); +int syncop_access (xlator_t *subvol, loc_t *loc, int32_t mask); #endif /* _SYNCOP_H */ |