mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-06 05:06:29 +00:00
Btrfs: assert send doesn't attempt to start transactions
When starting a transaction just assert that current->journal_info doesn't contain a send transaction stub, since send isn't supposed to start transactions and when it finishes (either successfully or not) it's supposed to set current->journal_info to NULL. This is motivated by the change titled: Btrfs: fix crash when starting transaction Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
parent
c39aa7056f
commit
46c4e71e9b
@ -386,11 +386,13 @@ start_transaction(struct btrfs_root *root, u64 num_items, unsigned int type,
|
||||
bool reloc_reserved = false;
|
||||
int ret;
|
||||
|
||||
/* Send isn't supposed to start transactions. */
|
||||
ASSERT(current->journal_info != (void *)BTRFS_SEND_TRANS_STUB);
|
||||
|
||||
if (test_bit(BTRFS_FS_STATE_ERROR, &root->fs_info->fs_state))
|
||||
return ERR_PTR(-EROFS);
|
||||
|
||||
if (current->journal_info &&
|
||||
current->journal_info != (void *)BTRFS_SEND_TRANS_STUB) {
|
||||
if (current->journal_info) {
|
||||
WARN_ON(type & TRANS_EXTWRITERS);
|
||||
h = current->journal_info;
|
||||
h->use_count++;
|
||||
|
Loading…
Reference in New Issue
Block a user