performance/write-behind: queue setattr fop with writes always.

stat returned in setattr_cbk can be cached by the kernel. Hence it is
always necessary that we return correct stat, which implies that setattr
should not be out of order with respect to write fops.

Change-Id: I305feeb4802f8a41ffaf032100832cbd65dfc5c1
BUG: 765443
Signed-off-by: Raghavendra G <raghavendra@gluster.com>
Reviewed-on: http://review.gluster.com/3011
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
This commit is contained in:
Raghavendra G 2012-03-27 08:47:35 +05:30 committed by Vijay Bellur
parent c3c4ee24a6
commit af0eb165f6

View File

@ -1283,13 +1283,6 @@ wb_setattr (call_frame_t *frame, xlator_t *this, loc_t *loc,
frame->local = local;
if (!(valid & (GF_SET_ATTR_ATIME | GF_SET_ATTR_MTIME))) {
STACK_WIND (frame, wb_setattr_cbk, FIRST_CHILD (this),
FIRST_CHILD (this)->fops->setattr, loc, stbuf,
valid, xdata);
goto out;
}
if (loc->inode) {
/*
FIXME: fd_lookup extends life of fd till the execution
@ -1340,7 +1333,7 @@ unwind:
if (stub) {
call_stub_destroy (stub);
}
out:
return 0;
}