Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs

Pull btrfs fix from Chris Mason:
"Filipe nailed down a problem where tree log replay would do some work
that orphan code wasn't expecting to be done yet, leading to BUG_ON"

* 'for-linus-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: fix loading of orphan roots leading to BUG_ON

+9 -1
+9 -1
fs/btrfs/root-tree.c
··· 310 310 set_bit(BTRFS_ROOT_ORPHAN_ITEM_INSERTED, &root->state); 311 311 312 312 err = btrfs_insert_fs_root(root->fs_info, root); 313 + /* 314 + * The root might have been inserted already, as before we look 315 + * for orphan roots, log replay might have happened, which 316 + * triggers a transaction commit and qgroup accounting, which 317 + * in turn reads and inserts fs roots while doing backref 318 + * walking. 319 + */ 320 + if (err == -EEXIST) 321 + err = 0; 313 322 if (err) { 314 - BUG_ON(err == -EEXIST); 315 323 btrfs_free_fs_root(root); 316 324 break; 317 325 }