Extracted from commit
b8b93addde "btrfs: cleanup 64bit/32bit divs,
provably bounded values", to allow commits
793ff2c88c6 "btrfs:
volumes: Cleanup stripe size calculation" and
baf92114c7 "btrfs:
alloc_chunk: fix more DUP stripe size handling" to apply cleanly.
[bwh: Add patch description]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
*/
if (stripe_size * data_stripes > max_chunk_size) {
u64 mask = (1ULL << 24) - 1;
- stripe_size = max_chunk_size;
- do_div(stripe_size, data_stripes);
+
+ stripe_size = div_u64(max_chunk_size, data_stripes);
/* bump the answer up to a 16MB boundary */
stripe_size = (stripe_size + mask) & ~mask;