mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
Merge tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
Pull xfs cleanups from Darrick Wong: "The most 'exciting' aspect of this branch is that the xfsprogs maintainer and I have worked through the last of the code discrepancies between kernel and userspace libxfs such that there are no code differences between the two except for #includes. IOWs, diff suffices to demonstrate that the userspace tools behave the same as the kernel, and kernel-only bits are clearly marked in the /kernel/ source code instead of just the userspace source. Summary: - Clean up open-coded swap() calls. - A little bit of #ifdef golf to complete the reunification of the kernel and userspace libxfs source code" * tag 'xfs-5.16-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: xfs: sync xfs_btree_split macros with userspace libxfs xfs: #ifdef out perag code for userspace xfs: use swap() to make dabtree code cleaner
This commit is contained in:
@@ -248,6 +248,7 @@ xfs_initialize_perag(
|
|||||||
spin_unlock(&mp->m_perag_lock);
|
spin_unlock(&mp->m_perag_lock);
|
||||||
radix_tree_preload_end();
|
radix_tree_preload_end();
|
||||||
|
|
||||||
|
#ifdef __KERNEL__
|
||||||
/* Place kernel structure only init below this point. */
|
/* Place kernel structure only init below this point. */
|
||||||
spin_lock_init(&pag->pag_ici_lock);
|
spin_lock_init(&pag->pag_ici_lock);
|
||||||
spin_lock_init(&pag->pagb_lock);
|
spin_lock_init(&pag->pagb_lock);
|
||||||
@@ -257,6 +258,7 @@ xfs_initialize_perag(
|
|||||||
init_waitqueue_head(&pag->pagb_wait);
|
init_waitqueue_head(&pag->pagb_wait);
|
||||||
pag->pagb_count = 0;
|
pag->pagb_count = 0;
|
||||||
pag->pagb_tree = RB_ROOT;
|
pag->pagb_tree = RB_ROOT;
|
||||||
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
error = xfs_buf_hash_init(pag);
|
error = xfs_buf_hash_init(pag);
|
||||||
if (error)
|
if (error)
|
||||||
|
@@ -64,6 +64,10 @@ struct xfs_perag {
|
|||||||
/* Blocks reserved for the reverse mapping btree. */
|
/* Blocks reserved for the reverse mapping btree. */
|
||||||
struct xfs_ag_resv pag_rmapbt_resv;
|
struct xfs_ag_resv pag_rmapbt_resv;
|
||||||
|
|
||||||
|
/* for rcu-safe freeing */
|
||||||
|
struct rcu_head rcu_head;
|
||||||
|
|
||||||
|
#ifdef __KERNEL__
|
||||||
/* -- kernel only structures below this line -- */
|
/* -- kernel only structures below this line -- */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -90,9 +94,6 @@ struct xfs_perag {
|
|||||||
spinlock_t pag_buf_lock; /* lock for pag_buf_hash */
|
spinlock_t pag_buf_lock; /* lock for pag_buf_hash */
|
||||||
struct rhashtable pag_buf_hash;
|
struct rhashtable pag_buf_hash;
|
||||||
|
|
||||||
/* for rcu-safe freeing */
|
|
||||||
struct rcu_head rcu_head;
|
|
||||||
|
|
||||||
/* background prealloc block trimming */
|
/* background prealloc block trimming */
|
||||||
struct delayed_work pag_blockgc_work;
|
struct delayed_work pag_blockgc_work;
|
||||||
|
|
||||||
@@ -102,6 +103,7 @@ struct xfs_perag {
|
|||||||
* or have some other means to control concurrency.
|
* or have some other means to control concurrency.
|
||||||
*/
|
*/
|
||||||
struct rhashtable pagi_unlinked_hash;
|
struct rhashtable pagi_unlinked_hash;
|
||||||
|
#endif /* __KERNEL__ */
|
||||||
};
|
};
|
||||||
|
|
||||||
int xfs_initialize_perag(struct xfs_mount *mp, xfs_agnumber_t agcount,
|
int xfs_initialize_perag(struct xfs_mount *mp, xfs_agnumber_t agcount,
|
||||||
|
@@ -2785,6 +2785,7 @@ error0:
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __KERNEL__
|
||||||
struct xfs_btree_split_args {
|
struct xfs_btree_split_args {
|
||||||
struct xfs_btree_cur *cur;
|
struct xfs_btree_cur *cur;
|
||||||
int level;
|
int level;
|
||||||
@@ -2870,6 +2871,9 @@ xfs_btree_split(
|
|||||||
destroy_work_on_stack(&args.work);
|
destroy_work_on_stack(&args.work);
|
||||||
return args.result;
|
return args.result;
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
#define xfs_btree_split __xfs_btree_split
|
||||||
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -864,7 +864,6 @@ xfs_da3_node_rebalance(
|
|||||||
{
|
{
|
||||||
struct xfs_da_intnode *node1;
|
struct xfs_da_intnode *node1;
|
||||||
struct xfs_da_intnode *node2;
|
struct xfs_da_intnode *node2;
|
||||||
struct xfs_da_intnode *tmpnode;
|
|
||||||
struct xfs_da_node_entry *btree1;
|
struct xfs_da_node_entry *btree1;
|
||||||
struct xfs_da_node_entry *btree2;
|
struct xfs_da_node_entry *btree2;
|
||||||
struct xfs_da_node_entry *btree_s;
|
struct xfs_da_node_entry *btree_s;
|
||||||
@@ -894,9 +893,7 @@ xfs_da3_node_rebalance(
|
|||||||
((be32_to_cpu(btree2[0].hashval) < be32_to_cpu(btree1[0].hashval)) ||
|
((be32_to_cpu(btree2[0].hashval) < be32_to_cpu(btree1[0].hashval)) ||
|
||||||
(be32_to_cpu(btree2[nodehdr2.count - 1].hashval) <
|
(be32_to_cpu(btree2[nodehdr2.count - 1].hashval) <
|
||||||
be32_to_cpu(btree1[nodehdr1.count - 1].hashval)))) {
|
be32_to_cpu(btree1[nodehdr1.count - 1].hashval)))) {
|
||||||
tmpnode = node1;
|
swap(node1, node2);
|
||||||
node1 = node2;
|
|
||||||
node2 = tmpnode;
|
|
||||||
xfs_da3_node_hdr_from_disk(dp->i_mount, &nodehdr1, node1);
|
xfs_da3_node_hdr_from_disk(dp->i_mount, &nodehdr1, node1);
|
||||||
xfs_da3_node_hdr_from_disk(dp->i_mount, &nodehdr2, node2);
|
xfs_da3_node_hdr_from_disk(dp->i_mount, &nodehdr2, node2);
|
||||||
btree1 = nodehdr1.btree;
|
btree1 = nodehdr1.btree;
|
||||||
|
Reference in New Issue
Block a user