Signed-off-by: Matus Marhefka <[email protected]>
---
include/safe_macros.h | 9 +++++++++
lib/safe_macros.c | 19 +++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/include/safe_macros.h b/include/safe_macros.h
index a79c4ad..e1c2fd1 100644
--- a/include/safe_macros.h
+++ b/include/safe_macros.h
@@ -271,5 +271,14 @@ int safe_rename(const char *file, const int lineno, void
(*cleanup_fn)(void),
#define SAFE_RENAME(cleanup_fn, oldpath, newpath) \
safe_rename(__FILE__, __LINE__, (cleanup_fn), (oldpath), (newpath))
+int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void),
+ const char *source, const char *target,
+ const char *filesystemtype, unsigned long mountflags,
+ const void *data);
+#define SAFE_MOUNT(cleanup_fn, source, target, filesystemtype, \
+ mountflags, data) \
+ safe_mount(__FILE__, __LINE__, (cleanup_fn), (source), (target), \
+ (filesystemtype), (mountflags), (data))
+
#endif /* __SAFE_MACROS_H__ */
#endif /* __TEST_H__ */
diff --git a/lib/safe_macros.c b/lib/safe_macros.c
index eefacae..7e49b36 100644
--- a/lib/safe_macros.c
+++ b/lib/safe_macros.c
@@ -784,3 +784,22 @@ int safe_rename(const char *file, const int lineno, void
(*cleanup_fn)(void),
return rval;
}
+
+int safe_mount(const char *file, const int lineno, void (*cleanup_fn)(void),
+ const char *source, const char *target,
+ const char *filesystemtype, unsigned long mountflags,
+ const void *data)
+{
+ int rval;
+
+ rval = mount(source, target, filesystemtype, mountflags, data);
+
+ if (rval == -1) {
+ tst_brkm(TBROK | TERRNO, cleanup_fn,
+ "%s:%d: mount(%s, %s, %s, %lu, %p) failed",
+ file, lineno, source, target, filesystemtype,
+ mountflags, data);
+ }
+
+ return rval;
+}
--
1.8.3.1
------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list