diff options
author | Poornima G <pgurusid@redhat.com> | 2017-11-18 15:19:13 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2017-12-05 14:21:01 +0000 |
commit | dc1258bfe46d30059119a3294285a114ec2bcd36 (patch) | |
tree | 4ff3cb254b5246e27b1eda32312e4ddeec897900 /libglusterfs/src/defaults.h | |
parent | 8a0b115b20cfa2dd3c5a9e22a8244c9c2f03e17b (diff) | |
download | glusterfs-dc1258bfe46d30059119a3294285a114ec2bcd36.tar.gz glusterfs-dc1258bfe46d30059119a3294285a114ec2bcd36.tar.xz glusterfs-dc1258bfe46d30059119a3294285a114ec2bcd36.zip |
libglusterfs: Add put fop
Problem: It had been a longtime request to implement put fop
in gluster. put fop in gluster may not have the exact sementics
of HTTP PUT, but can be easily extended to do so. The subsequent
patches, will contain more semantics on the put fop and its
guarentees.
Why compound fop framework is not used for put?
Compound fop framework currently doesn't allow compounding of
entry fop and inode fops, i.e. fops on multiple inodes cannot be
combined in compound fop.
Updates #353
Change-Id: Idb7891b3e056d46d570bb7e31bad1b6a28656ada
Signed-off-by: Poornima G <pgurusid@redhat.com>
Diffstat (limited to 'libglusterfs/src/defaults.h')
-rw-r--r-- | libglusterfs/src/defaults.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libglusterfs/src/defaults.h b/libglusterfs/src/defaults.h index 9b4f4828e9..c202dbe494 100644 --- a/libglusterfs/src/defaults.h +++ b/libglusterfs/src/defaults.h @@ -354,6 +354,11 @@ int32_t default_setactivelk (call_frame_t *frame, xlator_t *this, loc_t *loc, lock_migration_info_t *locklist, dict_t *xdata); +int32_t +default_put (call_frame_t *frame, xlator_t *this, loc_t *loc, mode_t mode, + mode_t umask, uint32_t flags, struct iovec *vector, int32_t count, + off_t off, struct iobref *iobref, dict_t *xattr, dict_t *xdata); + /* Resume */ int32_t default_getspec_resume (call_frame_t *frame, xlator_t *this, @@ -599,6 +604,12 @@ int32_t default_setactivelk_resume (call_frame_t *frame, xlator_t *this, loc_t *loc, lock_migration_info_t *locklist, dict_t *xdata); +int32_t +default_put_resume (call_frame_t *frame, xlator_t *this, loc_t *loc, + mode_t mode, mode_t umask, uint32_t flags, + struct iovec *vector, int32_t count, off_t off, + struct iobref *iobref, dict_t *xattr, dict_t *xdata); + /* _cbk_resume */ int32_t @@ -895,6 +906,12 @@ default_setactivelk_cbk_resume (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, dict_t *xdata); +int32_t +default_put_cbk_resume (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); + /* _CBK */ int32_t default_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this, @@ -1142,6 +1159,11 @@ int32_t default_setactivelk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, int32_t op_ret, int32_t op_errno, dict_t *xdata); +int32_t +default_put_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); int32_t default_lookup_failure_cbk (call_frame_t *frame, int32_t op_errno); @@ -1296,6 +1318,9 @@ int32_t default_setactivelk_failure_cbk (call_frame_t *frame, int32_t op_errno); int32_t +default_put_failure_cbk (call_frame_t *frame, int32_t op_errno); + +int32_t default_mem_acct_init (xlator_t *this); void |