Re: [PATCH v9 11/41] btrfs: implement log-structured superblock for ZONED mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/2/20 1:53 PM, Johannes Thumshirn wrote:
On 02/11/2020 19:23, Josef Bacik wrote:
+		/* shouldn't have super stripes in sequential zones */
+		if (zoned && nr) {
+			btrfs_err(fs_info,
+				  "Zoned btrfs's block group %llu should not have super blocks",
+				  cache->start);
+			return -EUCLEAN;
+		}
+
I'm very confused about this check, namely how you've been able to test without
it blowing up, which makes me feel like I'm missing something.

We _always_ call exclude_super_stripes(), and we're simply looking up the bytenr
for that block, which appears to not do anything special for zoned.  This should
be looking up and failing whenever it looks for super stripes far enough out.
How are you not failing here everytime you mount the fs?  Thanks,

Naohiro (or Josef and everyone else as well of cause), please correct me if I'm
wrong, but on zoned btrfs we're not supporting any RAID type. So the call to
btrfs_rmap_block() above will return 'nr = 0' (as we're always having
map->num_stripes = 1) so this won't evaluate to true.


No it should return nr == 1 in the single case. This maps physical address to a logical address in the block group, so it could be multiple, but if that bytenr falls inside the block group it'll return with something set. Hence my confusion. Thanks,

Josef



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux