Hi,
I saw something different with your patch. After creating and deleting
lots of subvolumes followed by an umount, there is one unpleasant
interaction with orphans.
After first mount attempt, the mount fails with
# mount /dev/sdb5
mount: Stale NFS file handle
syslog:
[ 256.050787] btrfs: could not do orphan cleanup -116
[ 256.962781] btrfs: open_ctree failed
the -116 is -ESTALE which your patch adds.
Another mount attempt and success, no relevant message in syslog. Reproducible.
btrfs_orphan_cleanup
btrfs_iget -> fails
2373 inode = btrfs_iget(root->fs_info->sb, &found_key, root, NULL);
2374 if (IS_ERR(inode)) {
2375 ret = PTR_ERR(inode);
2376 goto out;
2377 }
...
2440 out:
2441 if (ret)
2442 printk(KERN_CRIT "btrfs: could not do orphan cleanup %d\n", ret);
2443 btrfs_free_path(path);
2444 return ret;
2445 }
I'm concerned about leaving some unprocessed orphans "somewhere".
david
--
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