diff options
| author | Pavan Sondur <pavan@gluster.com> | 2009-10-05 09:45:52 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2009-10-06 07:22:16 -0700 | 
| commit | 29f81133a6cd95ebc9fac627a4fb0da73977f5a8 (patch) | |
| tree | bf5a633b59b8bce4a28023f39a35fb5d89dcf4bd /xlators/cluster/afr/src/afr-self-heal-data.c | |
| parent | f3e46f2cb44e95c453bfa20c870dca6e42fc9a7a (diff) | |
Removed remaining references to chmod, chown and utimens as part of setattr changes.
Removed references to chmod, chown and utimes. Removed utimes references in AFR and writebehind.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 146 (Add setattr FOP)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=146
Diffstat (limited to 'xlators/cluster/afr/src/afr-self-heal-data.c')
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-data.c | 33 | 
1 files changed, 18 insertions, 15 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-data.c b/xlators/cluster/afr/src/afr-self-heal-data.c index 5300f0a7528..66aa01dc271 100644 --- a/xlators/cluster/afr/src/afr-self-heal-data.c +++ b/xlators/cluster/afr/src/afr-self-heal-data.c @@ -106,8 +106,8 @@ afr_sh_data_flush_cbk (call_frame_t *frame, void *cookie, xlator_t *this,  int -afr_sh_data_utimes_cbk (call_frame_t *frame, void *cookie, xlator_t *this, -                        int32_t op_ret, int32_t op_errno, struct stat *buf) +afr_sh_data_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, +                        int32_t op_ret, int32_t op_errno, struct stat *statpre, struct stat *statpost)  {          afr_sh_data_flush_cbk (frame, cookie, this, op_ret, op_errno); @@ -126,8 +126,9 @@ afr_sh_data_close (call_frame_t *frame, xlator_t *this)  	int  call_count   = 0;          int  source       = 0;          int  active_sinks = 0; +        int32_t valid     = 0; -        struct timespec ts[2]; +        struct stat stbuf = {0,};          local = frame->local;          sh    = &local->self_heal; @@ -136,16 +137,18 @@ afr_sh_data_close (call_frame_t *frame, xlator_t *this)          source       = sh->source;          active_sinks = sh->active_sinks; +        valid |= (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME); +  #ifdef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC -	ts[0] = sh->buf[source].st_atim; -	ts[1] = sh->buf[source].st_mtim; +	stbuf.st_atim = sh->buf[source].st_atim; +	stbuf.st_mtim = sh->buf[source].st_mtim;  #elif HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC -	ts[0] = sh->buf[source].st_atimespec; -	ts[1] = sh->buf[source].st_mtimespec; +	stbuf.st_atimespec = sh->buf[source].st_atimespec; +	stbuf.st_mtimespec = sh->buf[source].st_mtimespec;  #else -	ts[0].tv_sec = sh->buf[source].st_atime; -	ts[1].tv_sec = sh->buf[source].st_mtime; +	stbuf.st_atime = sh->buf[source].st_atime; +	stbuf.st_mtime = sh->buf[source].st_mtime;  #endif  	if (!sh->healing_fd) { @@ -168,11 +171,11 @@ afr_sh_data_close (call_frame_t *frame, xlator_t *this)  			   sh->healing_fd);  	call_count--; -        STACK_WIND_COOKIE (frame, afr_sh_data_utimes_cbk, +        STACK_WIND_COOKIE (frame, afr_sh_data_setattr_cbk,                             (void *) (long) sh->source,                             priv->children[sh->source], -                           priv->children[sh->source]->fops->utimens, -                           &local->loc, ts); +                           priv->children[sh->source]->fops->setattr, +                           &local->loc, &stbuf, valid);          call_count--; @@ -192,11 +195,11 @@ afr_sh_data_close (call_frame_t *frame, xlator_t *this)                  call_count--; -                STACK_WIND_COOKIE (frame, afr_sh_data_utimes_cbk, +                STACK_WIND_COOKIE (frame, afr_sh_data_setattr_cbk,  				   (void *) (long) i,  				   priv->children[i], -				   priv->children[i]->fops->utimens, -				   &local->loc, ts); +				   priv->children[i]->fops->setattr, +				   &local->loc, &stbuf, valid);  		if (!--call_count)  			break;  | 
