xref: /linux/tools/testing/selftests/filesystems/empty_mntns/empty_mntns.h (revision 7c8a4671dc3247a26a702e5f5996e9f453d7070d)
1*32f54f2bSChristian Brauner /* SPDX-License-Identifier: GPL-2.0-or-later */
2*32f54f2bSChristian Brauner #ifndef EMPTY_MNTNS_H
3*32f54f2bSChristian Brauner #define EMPTY_MNTNS_H
4*32f54f2bSChristian Brauner 
5*32f54f2bSChristian Brauner #include <errno.h>
6*32f54f2bSChristian Brauner #include <stdlib.h>
7*32f54f2bSChristian Brauner 
8*32f54f2bSChristian Brauner #include "../statmount/statmount.h"
9*32f54f2bSChristian Brauner 
10*32f54f2bSChristian Brauner #ifndef UNSHARE_EMPTY_MNTNS
11*32f54f2bSChristian Brauner #define UNSHARE_EMPTY_MNTNS	0x00100000
12*32f54f2bSChristian Brauner #endif
13*32f54f2bSChristian Brauner 
14*32f54f2bSChristian Brauner #ifndef CLONE_EMPTY_MNTNS
15*32f54f2bSChristian Brauner #define CLONE_EMPTY_MNTNS	(1ULL << 37)
16*32f54f2bSChristian Brauner #endif
17*32f54f2bSChristian Brauner 
18*32f54f2bSChristian Brauner static inline ssize_t count_mounts(void)
19*32f54f2bSChristian Brauner {
20*32f54f2bSChristian Brauner 	uint64_t list[4096];
21*32f54f2bSChristian Brauner 
22*32f54f2bSChristian Brauner 	return listmount(LSMT_ROOT, 0, 0, list, sizeof(list) / sizeof(list[0]), 0);
23*32f54f2bSChristian Brauner }
24*32f54f2bSChristian Brauner 
25*32f54f2bSChristian Brauner #endif /* EMPTY_MNTNS_H */
26