From af492a9f27fb5aab668329c8c03087faf874463f Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 18 Mar 2016 17:24:12 -0700 Subject: [PATCH] scoutfs: add scoutfs_inc_key() Add a quick inline function for incrementing a key value across the inode>type>offset sorted key space. Signed-off-by: Zach Brown --- kmod/src/key.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kmod/src/key.h b/kmod/src/key.h index 27f7ffc3..80e60668 100644 --- a/kmod/src/key.h +++ b/kmod/src/key.h @@ -61,4 +61,13 @@ static inline void scoutfs_set_key(struct scoutfs_key *key, u64 inode, u8 type, key->offset = cpu_to_le64(offset); } +static inline void scoutfs_inc_key(struct scoutfs_key *key) +{ + le64_add_cpu(&key->offset, 1); + if (!key->offset) { + if (++key->type == 0) + le64_add_cpu(&key->inode, 1); + } +} + #endif