mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 13:31:02 +07:00
btrfs: get fs_info from trans in btrfs_need_log_full_commit
We can read fs_info from the transaction and can drop it from the parameters. Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
9b7a2440ae
commit
4884b8e8eb
@ -139,7 +139,7 @@ static int start_log_trans(struct btrfs_trans_handle *trans,
|
|||||||
mutex_lock(&root->log_mutex);
|
mutex_lock(&root->log_mutex);
|
||||||
|
|
||||||
if (root->log_root) {
|
if (root->log_root) {
|
||||||
if (btrfs_need_log_full_commit(fs_info, trans)) {
|
if (btrfs_need_log_full_commit(trans)) {
|
||||||
ret = -EAGAIN;
|
ret = -EAGAIN;
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
@ -3077,7 +3077,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* bail out if we need to do a full commit */
|
/* bail out if we need to do a full commit */
|
||||||
if (btrfs_need_log_full_commit(fs_info, trans)) {
|
if (btrfs_need_log_full_commit(trans)) {
|
||||||
ret = -EAGAIN;
|
ret = -EAGAIN;
|
||||||
mutex_unlock(&root->log_mutex);
|
mutex_unlock(&root->log_mutex);
|
||||||
goto out;
|
goto out;
|
||||||
@ -3184,7 +3184,7 @@ int btrfs_sync_log(struct btrfs_trans_handle *trans,
|
|||||||
* now that we've moved on to the tree of log tree roots,
|
* now that we've moved on to the tree of log tree roots,
|
||||||
* check the full commit flag again
|
* check the full commit flag again
|
||||||
*/
|
*/
|
||||||
if (btrfs_need_log_full_commit(fs_info, trans)) {
|
if (btrfs_need_log_full_commit(trans)) {
|
||||||
blk_finish_plug(&plug);
|
blk_finish_plug(&plug);
|
||||||
btrfs_wait_tree_log_extents(log, mark);
|
btrfs_wait_tree_log_extents(log, mark);
|
||||||
mutex_unlock(&log_root_tree->log_mutex);
|
mutex_unlock(&log_root_tree->log_mutex);
|
||||||
|
@ -36,10 +36,9 @@ static inline void btrfs_set_log_full_commit(struct btrfs_fs_info *fs_info,
|
|||||||
WRITE_ONCE(fs_info->last_trans_log_full_commit, trans->transid);
|
WRITE_ONCE(fs_info->last_trans_log_full_commit, trans->transid);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int btrfs_need_log_full_commit(struct btrfs_fs_info *fs_info,
|
static inline int btrfs_need_log_full_commit(struct btrfs_trans_handle *trans)
|
||||||
struct btrfs_trans_handle *trans)
|
|
||||||
{
|
{
|
||||||
return READ_ONCE(fs_info->last_trans_log_full_commit) ==
|
return READ_ONCE(trans->fs_info->last_trans_log_full_commit) ==
|
||||||
trans->transid;
|
trans->transid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user