Redfs ubuntu aligned writes #12
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
add an option to communicate alignment from the fuse server to the kernel and the kernel to obey alignment set by the fuse server.
Note that the writepage code in the kernel can only work restrictively (basically deciding, that it has to write out the buffer this call to fuse_writepages_fill).
This patch will check against the wbc range_end if we can write another aligned block and write out the buffer if not.
This will lead to write operations that will end on an aligned boundary. And then have a smaller write operation at the end that starts on an aligned boundary.
This patch will also check if we can write another aligned buffer until we hit the max_pages limit. This happens a lot when we don't start on an aligned position the max_pages will also be unaligned and that leads to almost the complete write process will be unaligned.
The patch cannot ensure aligned writes but it will keep the write operations as aligned as the mm write cache operation allows.