]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
libxfs: provide a kernel-compatible kasprintf
authorChristoph Hellwig <hch@lst.de>
Mon, 22 Apr 2024 17:01:17 +0000 (10:01 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Mon, 3 Jun 2024 18:37:42 +0000 (11:37 -0700)
The kernel-like kasprintf will be used by the new metadir code, as well
as the rmap data structures in xfs_repair.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
[djwong: tweak commit message]
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
include/kmem.h
libxfs/kmem.c

index 386b4a6be783d115fb36b11c1501f72252cfde0a..8dfb2fb0b45020f28180f0741d4cc201d38a4e95 100644 (file)
@@ -65,4 +65,7 @@ static inline void kfree(const void *ptr)
        free((void *)ptr);
 }
 
+__attribute__((format(printf,2,3)))
+char *kasprintf(gfp_t gfp, const char *fmt, ...);
+
 #endif
index a2a3935d00e866f6aa26b7e624f75efb4f232ca0..2e293518024fe38368aea60195b7968712e8b582 100644 (file)
@@ -104,3 +104,16 @@ krealloc(void *ptr, size_t new_size, int flags)
        }
        return ptr;
 }
+
+char *kasprintf(gfp_t gfp, const char *fmt, ...)
+{
+       va_list ap;
+       char *p;
+
+       va_start(ap, fmt);
+       if (vasprintf(&p, fmt, ap) < 0)
+               p = NULL;
+       va_end(ap);
+
+       return p;
+}