Bug 764041 (GLUSTER-2309) - write-behind returns bogus post-attributes
Summary: write-behind returns bogus post-attributes
Keywords:
Status: CLOSED EOL
Alias: GLUSTER-2309
Product: GlusterFS
Classification: Community
Component: write-behind
Version: mainline
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL: http://git.fedorahosted.org/git/?p=Cl...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-21 16:43 UTC by Jeff Darcy
Modified: 2015-10-22 15:46 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-10-22 15:46:38 UTC
Regression: RTNR
Mount Type: All
Documentation: DNR
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Jeff Darcy 2011-01-21 16:43:13 UTC
This is mostly noticeable because it breaks features/quota.  The problem is that wb_stack_unwind returns a bogus post-operation iatt structure, so the caller sees zero blocks consumed against quota.  The patch at the URL associated with this bug fills in ia_blocks so that features/quota has something to work with.

Comment 1 Raghavendra G 2011-03-03 00:29:17 UTC
Hi Jeff,

As you've commented in the patch, this is not complete fix. Even then, this is not correct fix, since ia_blocks should contain total number of blocks allocated to file and not just blocks consumed by _this_ write request (request->write_size, contains write_size of current write request). Also, block-size may not be the same everywhere.

regards,
Raghavendra.

Comment 2 Jeff Darcy 2011-03-07 11:55:18 UTC
(In reply to comment #1)
> As you've commented in the patch, this is not complete fix. Even then, this is
> not correct fix, since ia_blocks should contain total number of blocks
> allocated to file and not just blocks consumed by _this_ write request
> (request->write_size, contains write_size of current write request). Also,
> block-size may not be the same everywhere.


The part about total number of blocks vs. blocks for this request is valid.  Thanks for catching that.  This needs to be resolved if we want to use these translators together, and I hope we can do so without incurring the cost of an extra stat() every time we write.

As for the block size, the reason the patch uses 512 is that features/quota does so (see quota_writev_cbk).  We can make write-behind more block-size aware, but only if we do likewise for quota.

Comment 3 Amar Tumballi 2011-09-28 04:28:31 UTC
Very hard to solve witout having a unified buffer caching. Marking it for future release.

Comment 4 Kaleb KEITHLEY 2015-10-22 15:46:38 UTC
because of the large number of bugs filed against mainline version\ is ambiguous and about to be removed as a choice.

If you believe this is still a bug, please change the status back to NEW and choose the appropriate, applicable version for it.


Note You need to log in before you can comment on or make changes to this bug.