From 93de9e92c32c73d25bccbd82b1dabff3e3c2b7d2 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Sun, 16 Jul 2023 15:59:40 -0400 Subject: [PATCH] bcachefs: Inline bch2_snapshot_is_ancestor() fast path Signed-off-by: Kent Overstreet --- fs/bcachefs/subvolume.c | 2 +- fs/bcachefs/subvolume.h | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/fs/bcachefs/subvolume.c b/fs/bcachefs/subvolume.c index cf8af617ac00d..287492c29bccd 100644 --- a/fs/bcachefs/subvolume.c +++ b/fs/bcachefs/subvolume.c @@ -25,7 +25,7 @@ static inline u32 get_ancestor_below(struct snapshot_table *t, u32 id, u32 ances return s->parent; } -bool bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor) +bool __bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor) { struct snapshot_table *t; bool ret; diff --git a/fs/bcachefs/subvolume.h b/fs/bcachefs/subvolume.h index 12a08a34e9bb2..6905e91a94708 100644 --- a/fs/bcachefs/subvolume.h +++ b/fs/bcachefs/subvolume.h @@ -166,7 +166,14 @@ static inline u32 bch2_snapshot_sibling(struct bch_fs *c, u32 id) return 0; } -bool bch2_snapshot_is_ancestor(struct bch_fs *, u32, u32); +bool __bch2_snapshot_is_ancestor(struct bch_fs *, u32, u32); + +static inline bool bch2_snapshot_is_ancestor(struct bch_fs *c, u32 id, u32 ancestor) +{ + return id == ancestor + ? true + : __bch2_snapshot_is_ancestor(c, id, ancestor); +} static inline bool bch2_snapshot_has_children(struct bch_fs *c, u32 id) { -- 2.30.2