On Wed, Oct 14, 2015 at 11:09:37PM +0530, Chandan Rajendra wrote: > When creating small Btrfs filesystem instances (i.e. filesystem size <= 1GiB), > mkfs.btrfs fails if both sectorsize and nodesize are specified on the command > line and sectorsize != nodesize, since mixed block groups involves both data > and metadata blocks sharing the same block group. This is an incorrect > behavior > when '-M' option isn't specified on the command line. > > This commit makes optional the creation of mixed block groups i.e. Mixed block > groups are created only when -M option is specified on the command line.
Thanks, added to the devel branch, with a basic test. > Since we now allow small filesystem instances with sectorsize != nodesize to > be created, we can end up in the following situation, > > [root@localhost ~]# mkfs.btrfs -f -n 65536 /dev/loop0 > Node size: 65536 > Sector size: 4096 > [root@localhost ~]# mount /dev/loop0 /mnt/ > mount: mount /dev/loop0 on /mnt failed: No space left on device > > The ENOSPC occurs during the creation of the UUID tree. This is because of > things like large metadata block size, DUP mode used for metadata and global > reservation consuming space. Also, large nodesize does not make sense on small > filesystems, hence this should not be an issue. Understood and accepted. We may trip over other bugs, I haven't tested it thoroughly but want to give this change more exposure. -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
