X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libbcachefs%2Fbtree_locking.c;h=27b725f943cd6146b609ccf0b130a2c0c30df758;hb=da6a35689518599b381c285cd9505ab8d58f7c73;hp=80398e497bd53a3a546a77c45bafd522c065ad4d;hpb=46a6b9210c927ab46fd1227cb6f641be0b4a7505;p=bcachefs-tools-debian diff --git a/libbcachefs/btree_locking.c b/libbcachefs/btree_locking.c index 80398e4..27b725f 100644 --- a/libbcachefs/btree_locking.c +++ b/libbcachefs/btree_locking.c @@ -698,6 +698,19 @@ bool bch2_trans_locked(struct btree_trans *trans) return false; } +int __bch2_trans_mutex_lock(struct btree_trans *trans, + struct mutex *lock) +{ + int ret; + + bch2_trans_unlock(trans); + mutex_lock(lock); + ret = bch2_trans_relock(trans); + if (ret) + mutex_unlock(lock); + return ret; +} + /* Debug */ #ifdef CONFIG_BCACHEFS_DEBUG