[PATCH] Add container_of and ROUND_UP macros
authorBernd Schubert <bschubert@ddn.com>
Tue, 15 Apr 2025 20:03:09 +0000 (22:03 +0200)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Mon, 19 May 2025 18:39:08 +0000 (20:39 +0200)
Needed by follow up commits. container_of is actually
just moved/consolidated to util.h.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
(cherry picked from commit c5a032b3410d7225ac0355355faa63565a209943)

Gbp-Pq: Name Add-container_of-and-ROUND_UP-macros.patch

lib/fuse.c
lib/fuse_lowlevel.c
lib/util.h

index c0d00edbc463e6f8c1cd872f663d6b05395ffbb8..4964de20fc2a5806744a42b641c2a7bfc2278a98 100644 (file)
@@ -92,10 +92,6 @@ struct node_table {
        size_t split;
 };
 
-#define container_of(ptr, type, member) ({                              \
-                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-                       (type *)( (char *)__mptr - offsetof(type,member) );})
-
 #define list_entry(ptr, type, member)           \
        container_of(ptr, type, member)
 
index 9ee88b16063aa9872289a3d1003b7f1b4c310008..cb046aae02f7380d6483da4b9402be692b9f38b0 100644 (file)
 #define PARAM(inarg) (((char *)(inarg)) + sizeof(*(inarg)))
 #define OFFSET_MAX 0x7fffffffffffffffLL
 
-#define container_of(ptr, type, member) ({                             \
-                       const typeof( ((type *)0)->member ) *__mptr = (ptr); \
-                       (type *)( (char *)__mptr - offsetof(type,member) );})
-
 struct fuse_pollhandle {
        uint64_t kh;
        struct fuse_session *se;
index 508fafb1298e9ad668df8bc63cf87c4b3969d3b3..ed03ad40e63792e6683c4fc2528e6cd0965c6000 100644 (file)
@@ -30,4 +30,10 @@ static inline uint64_t fuse_higher_32_bits(uint64_t nr)
 #define FUSE_VAR_UNUSED(var) (__attribute__((unused)) var)
 #endif
 
+#define container_of(ptr, type, member)                      \
+       ({                                                   \
+               unsigned long __mptr = (unsigned long)(ptr); \
+               ((type *)(__mptr - offsetof(type, member))); \
+       })
+
 #endif