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:
parent
c3c4ee24a6
commit
af0eb165f6
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user