diff options
author | Vikas Gorur <vikas@gluster.com> | 2009-12-04 06:04:37 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-12-04 05:26:30 -0800 |
commit | cba270e7dfe271dfa43cd7127089b91dfedf838f (patch) | |
tree | 60f36f5592034b383c69cd4dbdaf325080efe3ac /xlators/protocol | |
parent | 05ad7717083057de819ad545591bffeb8af2f741 (diff) |
mount/fuse: Refactored fuse_setattr.
If both truncate & setattr need to be sent from fuse_setattr,
they are now sent one after the other (setattr first, and then truncate)
instead of being sent parallelly. The earlier code that sent them parallelly
had a couple of problems:
1) A bug in the logic that would sometimes cause the setattr call
to never return, making the application hang.
2) A possibility that truncate and setattr would race at the server/io-threads/posix
end, thus returning the wrong stat structure to the application.
This patch also removes an unneccessary "can_fuse_return" call in
fuse_attr_cbk, which would cause a call to hang if STAT or FSTAT failed.
Signed-off-by: Vikas Gorur <vikas@gluster.com>
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/protocol')
0 files changed, 0 insertions, 0 deletions