mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	tools include UAPI: Sync linux/mount.h copy with the kernel sources
To pick the changes from:35e27a5744("fs: keep struct mnt_id_req extensible")b4c2bea8ce("add listmount(2) syscall")46eae99ef7("add statmount(2) syscall") That doesn't change anything in tools this time as nothing that is harvested by the beauty scripts got changed: $ ls -1 tools/perf/trace/beauty/*mount*sh tools/perf/trace/beauty/fsmount.sh tools/perf/trace/beauty/mount_flags.sh tools/perf/trace/beauty/move_mount_flags.sh $ This addresses this perf build warning. Warning: Kernel ABI header differences: diff -u tools/include/uapi/linux/mount.h include/uapi/linux/mount.h Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christian Brauner <brauner@kernel.org> Cc: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Miklos Szeredi <mszeredi@redhat.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/lkml/ZbkMiB7ZcOsLP2V5@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
		
							parent
							
								
									7814fe24a6
								
							
						
					
					
						commit
						1f8c43b09e
					
				
					 1 changed files with 70 additions and 0 deletions
				
			
		|  | @ -138,4 +138,74 @@ struct mount_attr { | |||
| /* List of all mount_attr versions. */ | ||||
| #define MOUNT_ATTR_SIZE_VER0	32 /* sizeof first published struct */ | ||||
| 
 | ||||
| 
 | ||||
| /*
 | ||||
|  * Structure for getting mount/superblock/filesystem info with statmount(2). | ||||
|  * | ||||
|  * The interface is similar to statx(2): individual fields or groups can be | ||||
|  * selected with the @mask argument of statmount().  Kernel will set the @mask | ||||
|  * field according to the supported fields. | ||||
|  * | ||||
|  * If string fields are selected, then the caller needs to pass a buffer that | ||||
|  * has space after the fixed part of the structure.  Nul terminated strings are | ||||
|  * copied there and offsets relative to @str are stored in the relevant fields. | ||||
|  * If the buffer is too small, then EOVERFLOW is returned.  The actually used | ||||
|  * size is returned in @size. | ||||
|  */ | ||||
| struct statmount { | ||||
| 	__u32 size;		/* Total size, including strings */ | ||||
| 	__u32 __spare1; | ||||
| 	__u64 mask;		/* What results were written */ | ||||
| 	__u32 sb_dev_major;	/* Device ID */ | ||||
| 	__u32 sb_dev_minor; | ||||
| 	__u64 sb_magic;		/* ..._SUPER_MAGIC */ | ||||
| 	__u32 sb_flags;		/* SB_{RDONLY,SYNCHRONOUS,DIRSYNC,LAZYTIME} */ | ||||
| 	__u32 fs_type;		/* [str] Filesystem type */ | ||||
| 	__u64 mnt_id;		/* Unique ID of mount */ | ||||
| 	__u64 mnt_parent_id;	/* Unique ID of parent (for root == mnt_id) */ | ||||
| 	__u32 mnt_id_old;	/* Reused IDs used in proc/.../mountinfo */ | ||||
| 	__u32 mnt_parent_id_old; | ||||
| 	__u64 mnt_attr;		/* MOUNT_ATTR_... */ | ||||
| 	__u64 mnt_propagation;	/* MS_{SHARED,SLAVE,PRIVATE,UNBINDABLE} */ | ||||
| 	__u64 mnt_peer_group;	/* ID of shared peer group */ | ||||
| 	__u64 mnt_master;	/* Mount receives propagation from this ID */ | ||||
| 	__u64 propagate_from;	/* Propagation from in current namespace */ | ||||
| 	__u32 mnt_root;		/* [str] Root of mount relative to root of fs */ | ||||
| 	__u32 mnt_point;	/* [str] Mountpoint relative to current root */ | ||||
| 	__u64 __spare2[50]; | ||||
| 	char str[];		/* Variable size part containing strings */ | ||||
| }; | ||||
| 
 | ||||
| /*
 | ||||
|  * Structure for passing mount ID and miscellaneous parameters to statmount(2) | ||||
|  * and listmount(2). | ||||
|  * | ||||
|  * For statmount(2) @param represents the request mask. | ||||
|  * For listmount(2) @param represents the last listed mount id (or zero). | ||||
|  */ | ||||
| struct mnt_id_req { | ||||
| 	__u32 size; | ||||
| 	__u32 spare; | ||||
| 	__u64 mnt_id; | ||||
| 	__u64 param; | ||||
| }; | ||||
| 
 | ||||
| /* List of all mnt_id_req versions. */ | ||||
| #define MNT_ID_REQ_SIZE_VER0	24 /* sizeof first published struct */ | ||||
| 
 | ||||
| /*
 | ||||
|  * @mask bits for statmount(2) | ||||
|  */ | ||||
| #define STATMOUNT_SB_BASIC		0x00000001U     /* Want/got sb_... */ | ||||
| #define STATMOUNT_MNT_BASIC		0x00000002U	/* Want/got mnt_... */ | ||||
| #define STATMOUNT_PROPAGATE_FROM	0x00000004U	/* Want/got propagate_from */ | ||||
| #define STATMOUNT_MNT_ROOT		0x00000008U	/* Want/got mnt_root  */ | ||||
| #define STATMOUNT_MNT_POINT		0x00000010U	/* Want/got mnt_point */ | ||||
| #define STATMOUNT_FS_TYPE		0x00000020U	/* Want/got fs_type */ | ||||
| 
 | ||||
| /*
 | ||||
|  * Special @mnt_id values that can be passed to listmount | ||||
|  */ | ||||
| #define LSMT_ROOT		0xffffffffffffffff	/* root mount */ | ||||
| 
 | ||||
| #endif /* _UAPI_LINUX_MOUNT_H */ | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Arnaldo Carvalho de Melo
						Arnaldo Carvalho de Melo