diff options
Diffstat (limited to 'xlators/debug/io-stats/src/io-stats.c')
| -rw-r--r-- | xlators/debug/io-stats/src/io-stats.c | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c index 4f27a2e418f..7fb697ae45d 100644 --- a/xlators/debug/io-stats/src/io-stats.c +++ b/xlators/debug/io-stats/src/io-stats.c @@ -1746,6 +1746,16 @@ io_stats_discard_cbk(call_frame_t *frame, void *cookie, xlator_t *this,  	return 0;  } +int +io_stats_zerofill_cbk(call_frame_t *frame, void *cookie, xlator_t *this, +                     int32_t op_ret, int32_t op_errno, struct iatt *prebuf, +                     struct iatt *postbuf, dict_t *xdata) +{ +        UPDATE_PROFILE_STATS(frame, ZEROFILL); +        STACK_UNWIND_STRICT(zerofill, frame, op_ret, op_errno, prebuf, postbuf, +                            xdata); +        return 0; +}  int  io_stats_lk_cbk (call_frame_t *frame, void *cookie, xlator_t *this, @@ -2441,6 +2451,18 @@ io_stats_discard(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset,  	return 0;  } +int +io_stats_zerofill(call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, +                 size_t len, dict_t *xdata) +{ +        START_FOP_LATENCY(frame); + +        STACK_WIND(frame, io_stats_zerofill_cbk, FIRST_CHILD(this), +                   FIRST_CHILD(this)->fops->zerofill, fd, offset, len, xdata); + +        return 0; +} +  int  io_stats_lk (call_frame_t *frame, xlator_t *this, @@ -2870,6 +2892,7 @@ struct xlator_fops fops = {          .fsetattr    = io_stats_fsetattr,  	.fallocate   = io_stats_fallocate,  	.discard     = io_stats_discard, +        .zerofill    = io_stats_zerofill,  };  struct xlator_cbks cbks = {  | 
