diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 41517d14c950..179ffb9529d4 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -9108,8 +9108,11 @@ static int btrfs_rename_exchange(struct inode *old_dir, goto out_notrans; } - if (dest != root) - btrfs_record_root_in_trans(trans, dest); + if (dest != root) { + ret = btrfs_record_root_in_trans(trans, dest); + if (ret) + goto out_fail; + } /* * We need to find a free sequence number both in the source and