summaryrefslogtreecommitdiff
path: root/libbcachefs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/inode.c')
-rw-r--r--libbcachefs/inode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbcachefs/inode.c b/libbcachefs/inode.c
index 9d6040d4..2c037e84 100644
--- a/libbcachefs/inode.c
+++ b/libbcachefs/inode.c
@@ -1244,8 +1244,9 @@ next_parent:
if (!unlinked)
return 0;
- if (bch2_inode_is_open(trans->c, pos))
- return 0;
+ ret = lockrestart_do(trans, bch2_inode_or_descendents_is_open(trans, pos));
+ if (ret)
+ return ret < 0 ? ret : 0;
ret = __bch2_inode_rm_snapshot(trans, pos.offset, pos.snapshot);
if (ret)