diff options
| author | Christian Brauner <brauner@kernel.org> | 2024-11-26 18:15:06 +0100 |
|---|---|---|
| committer | Christian Brauner <brauner@kernel.org> | 2024-11-26 18:15:06 +0100 |
| commit | cf87766dd6f9ddcceaa8ee26e3cbd7538e42dd19 (patch) | |
| tree | 8531685628a090333db2f874688ac07624b51072 /include/linux/range.h | |
| parent | c66f759832a83cb273ba5a55c66dcc99384efa74 (diff) | |
| parent | 2957fa4931a3b658d8e54eda9439d4c57967e8ad (diff) | |
Merge branch 'ovl.fixes'
Bring in an overlayfs fix for v6.13-rc1 that fixes a bug introduced by
the overlayfs changes merged for v6.13.
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux/range.h')
| -rw-r--r-- | include/linux/range.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/include/linux/range.h b/include/linux/range.h index 6ad0b73cb7ad..d7f98e1285d7 100644 --- a/include/linux/range.h +++ b/include/linux/range.h @@ -13,11 +13,20 @@ static inline u64 range_len(const struct range *range) return range->end - range->start + 1; } -static inline bool range_contains(struct range *r1, struct range *r2) +/* True if r1 completely contains r2 */ +static inline bool range_contains(const struct range *r1, + const struct range *r2) { return r1->start <= r2->start && r1->end >= r2->end; } +/* True if any part of r1 overlaps r2 */ +static inline bool range_overlaps(const struct range *r1, + const struct range *r2) +{ + return r1->start <= r2->end && r1->end >= r2->start; +} + int add_range(struct range *range, int az, int nr_range, u64 start, u64 end); @@ -31,4 +40,10 @@ int clean_sort_range(struct range *range, int az); void sort_range(struct range *range, int nr_range); +#define DEFINE_RANGE(_start, _end) \ +(struct range) { \ + .start = (_start), \ + .end = (_end), \ + } + #endif |
