On Fri, Jun 20, 2014 at 11:13:41AM +0800, Qu Wenruo wrote: > Btrfs has global block reservation, so even mkfs.btrfs can execute > without problem, there is still a possibility that the filesystem can't > be mounted. > For example when mkfs.btrfs on a 8M file on x86_64 platform, kernel will > refuse to mount due to ENOSPC, since system block group takes 4M and > mixed block group takes 4M, and global block reservation will takes all > the 4M from mixed block group, which makes btrfs unable to create uuid > tree. > > This patch will add minimum device size check before actually mkfs. > The minimum size calculation uses a simplified one: > minimum_size_for_each_dev = 2 * (system block group + global block rsv) > and global block rsv = leafsize << 10 > > Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> > --- > changelog: > v2: Use leafsize to get consistent with kernel global_block_rsv > calculation. Oh sorry, I should really fix my patch queue scanning workflow so I don't send comments to obsolete patches. I see you've fixed the global block reserve size, the rest of the comments under v1 still applies. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
