syncop: Implement some missing operations
- syncop_mkdir() - syncop_rmdir() - syncop_rename() Change-Id: I177db0f9af7c99fc6645d59521c8fb82f73812ca BUG: 839950 Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.org/4019 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com>
This commit is contained in:
parent
8d92fabe6a
commit
5f423c68a1
@ -1195,10 +1195,40 @@ syncop_unlink (xlator_t *subvol, loc_t *loc)
|
||||
return args.op_ret;
|
||||
}
|
||||
|
||||
int
|
||||
syncop_rmdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
|
||||
int op_ret, int op_errno, struct iatt *preparent,
|
||||
struct iatt *postparent, 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_rmdir (xlator_t *subvol, loc_t *loc)
|
||||
{
|
||||
struct syncargs args = {0, };
|
||||
|
||||
SYNCOP (subvol, (&args), syncop_rmdir_cbk, subvol->fops->rmdir, loc,
|
||||
0, NULL);
|
||||
|
||||
errno = args.op_errno;
|
||||
return args.op_ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
syncop_link_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
|
||||
int32_t op_ret, int32_t op_errno, inode_t *inode,
|
||||
struct iatt *buf, struct iatt *preparent,
|
||||
int32_t op_ret, int32_t op_errno, inode_t *inode,
|
||||
struct iatt *buf, struct iatt *preparent,
|
||||
struct iatt *postparent, dict_t *xdata)
|
||||
{
|
||||
struct syncargs *args = NULL;
|
||||
@ -1227,6 +1257,41 @@ syncop_link (xlator_t *subvol, loc_t *oldloc, loc_t *newloc)
|
||||
return args.op_ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
syncop_rename_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
|
||||
int32_t op_ret, int32_t op_errno, struct iatt *buf,
|
||||
struct iatt *preoldparent, struct iatt *postoldparent,
|
||||
struct iatt *prenewparent, struct iatt *postnewparent,
|
||||
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_rename (xlator_t *subvol, loc_t *oldloc, loc_t *newloc)
|
||||
{
|
||||
struct syncargs args = {0, };
|
||||
|
||||
SYNCOP (subvol, (&args), syncop_rename_cbk, subvol->fops->rename,
|
||||
oldloc, newloc, NULL);
|
||||
|
||||
errno = args.op_errno;
|
||||
|
||||
return args.op_ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
syncop_ftruncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
|
||||
int op_ret, int op_errno, struct iatt *prebuf,
|
||||
@ -1480,6 +1545,39 @@ syncop_mknod (xlator_t *subvol, loc_t *loc, mode_t mode, dev_t rdev,
|
||||
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
syncop_mkdir_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
|
||||
int32_t op_ret, int32_t op_errno, inode_t *inode,
|
||||
struct iatt *buf, struct iatt *preparent,
|
||||
struct iatt *postparent, 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_mkdir (xlator_t *subvol, loc_t *loc, mode_t mode, dict_t *dict)
|
||||
{
|
||||
struct syncargs args = {0, };
|
||||
|
||||
SYNCOP (subvol, (&args), syncop_mkdir_cbk, subvol->fops->mkdir,
|
||||
loc, mode, 0, dict);
|
||||
|
||||
errno = args.op_errno;
|
||||
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)
|
||||
|
@ -246,6 +246,7 @@ int syncop_ftruncate (xlator_t *subvol, fd_t *fd, off_t offset);
|
||||
int syncop_truncate (xlator_t *subvol, loc_t *loc, off_t offset);
|
||||
|
||||
int syncop_unlink (xlator_t *subvol, loc_t *loc);
|
||||
int syncop_rmdir (xlator_t *subvol, loc_t *loc);
|
||||
|
||||
int syncop_fsync (xlator_t *subvol, fd_t *fd, int dataonly);
|
||||
int syncop_flush (xlator_t *subvol, fd_t *fd);
|
||||
@ -256,7 +257,11 @@ int syncop_symlink (xlator_t *subvol, loc_t *loc, char *newpath, dict_t *dict);
|
||||
int syncop_readlink (xlator_t *subvol, loc_t *loc, char **buffer, size_t size);
|
||||
int syncop_mknod (xlator_t *subvol, loc_t *loc, mode_t mode, dev_t rdev,
|
||||
dict_t *dict);
|
||||
int syncop_mkdir (xlator_t *subvol, loc_t *loc, mode_t mode, 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);
|
||||
|
||||
int syncop_rename (xlator_t *subvol, loc_t *oldloc, loc_t *newloc);
|
||||
|
||||
#endif /* _SYNCOP_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user