"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "extent-tree.c" between
btrfs-progs-v5.4.tar.xz and btrfs-progs-v5.4.1.tar.xz

About: btrfs-progs are the userspace utilities for the Linux Btrfs filesystem.

extent-tree.c  (btrfs-progs-v5.4.tar.xz):extent-tree.c  (btrfs-progs-v5.4.1.tar.xz)
skipping to change at line 2710 skipping to change at line 2710
cache->flags = btrfs_block_group_flags(&bgi); cache->flags = btrfs_block_group_flags(&bgi);
cache->used = btrfs_block_group_used(&bgi); cache->used = btrfs_block_group_used(&bgi);
if (cache->flags & BTRFS_BLOCK_GROUP_DATA) { if (cache->flags & BTRFS_BLOCK_GROUP_DATA) {
bit = BLOCK_GROUP_DATA; bit = BLOCK_GROUP_DATA;
} else if (cache->flags & BTRFS_BLOCK_GROUP_SYSTEM) { } else if (cache->flags & BTRFS_BLOCK_GROUP_SYSTEM) {
bit = BLOCK_GROUP_SYSTEM; bit = BLOCK_GROUP_SYSTEM;
} else if (cache->flags & BTRFS_BLOCK_GROUP_METADATA) { } else if (cache->flags & BTRFS_BLOCK_GROUP_METADATA) {
bit = BLOCK_GROUP_METADATA; bit = BLOCK_GROUP_METADATA;
} }
set_avail_alloc_bits(fs_info, cache->flags); set_avail_alloc_bits(fs_info, cache->flags);
if (btrfs_chunk_readonly(fs_info, cache->key.objectid)) ret = btrfs_chunk_readonly(fs_info, cache->key.objectid);
if (ret < 0) {
free(cache);
return ret;
}
if (ret)
cache->ro = 1; cache->ro = 1;
exclude_super_stripes(fs_info, cache); exclude_super_stripes(fs_info, cache);
ret = update_space_info(fs_info, cache->flags, cache->key.offset, ret = update_space_info(fs_info, cache->flags, cache->key.offset,
cache->used, &space_info); cache->used, &space_info);
if (ret < 0) { if (ret < 0) {
free(cache); free(cache);
return ret; return ret;
} }
cache->space_info = space_info; cache->space_info = space_info;
skipping to change at line 2755 skipping to change at line 2760
if (ret > 0) { if (ret > 0) {
ret = 0; ret = 0;
goto error; goto error;
} }
if (ret != 0) { if (ret != 0) {
goto error; goto error;
} }
btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]); btrfs_item_key_to_cpu(path.nodes[0], &key, path.slots[0]);
ret = read_one_block_group(fs_info, &path); ret = read_one_block_group(fs_info, &path);
if (ret < 0) if (ret < 0 && ret != -ENOENT)
goto error; goto error;
if (key.offset == 0) if (key.offset == 0)
key.objectid++; key.objectid++;
else else
key.objectid = key.objectid + key.offset; key.objectid = key.objectid + key.offset;
key.offset = 0; key.offset = 0;
btrfs_release_path(&path); btrfs_release_path(&path);
} }
ret = 0; ret = 0;
skipping to change at line 3636 skipping to change at line 3641
bytenr = btrfs_sb_offset(i); bytenr = btrfs_sb_offset(i);
ret = btrfs_rmap_block(fs_info, ret = btrfs_rmap_block(fs_info,
cache->key.objectid, bytenr, cache->key.objectid, bytenr,
&logical, &nr, &stripe_len); &logical, &nr, &stripe_len);
if (ret) if (ret)
return ret; return ret;
while (nr--) { while (nr--) {
u64 start, len; u64 start, len;
if (logical[nr] > cache->key.objectid + if (logical[nr] >= cache->key.objectid +
cache->key.offset) cache->key.offset)
continue; continue;
if (logical[nr] + stripe_len <= cache->key.objectid) if (logical[nr] + stripe_len <= cache->key.objectid)
continue; continue;
start = logical[nr]; start = logical[nr];
if (start < cache->key.objectid) { if (start < cache->key.objectid) {
start = cache->key.objectid; start = cache->key.objectid;
len = (logical[nr] + stripe_len) - start; len = (logical[nr] + stripe_len) - start;
 End of changes. 3 change blocks. 
3 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)