Thread (3 messages) flat view 3 messages, 2 authors, 2021-09-20

Re: [PATCH 1/2] fs: move struct linux_dirent into headers

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-09-20 10:06:39
Also in: linux-fsdevel, linux-man, lkml

On Mon, Sep 20, 2021 at 10:56:48AM +0100, Gaelan Steele wrote:
quoted hunk ↗ jump to hunk
Move the definition of linux_dirent to include/linux/dirent.h,
where the newer linux_dirent64 already lives. This is done in
preparation for moving both of these struct definitions into uapi/
so userspace code doesn't need to duplicate them.

Signed-off-by: Gaelan Steele <redacted>
---
 fs/readdir.c           | 8 +-------
 include/linux/dirent.h | 7 +++++++
 2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/fs/readdir.c b/fs/readdir.c
index 09e8ed7d4161..51890aeafc53 100644
--- a/fs/readdir.c
+++ b/fs/readdir.c
@@ -202,14 +202,8 @@ SYSCALL_DEFINE3(old_readdir, unsigned int, fd,
 
 /*
  * New, all-improved, singing, dancing, iBCS2-compliant getdents()
- * interface. 
+ * interface.
  */
-struct linux_dirent {
-	unsigned long	d_ino;
-	unsigned long	d_off;
-	unsigned short	d_reclen;
-	char		d_name[1];
-};
 
 struct getdents_callback {
 	struct dir_context ctx;
diff --git a/include/linux/dirent.h b/include/linux/dirent.h
index 99002220cd45..48e119dd3694 100644
--- a/include/linux/dirent.h
+++ b/include/linux/dirent.h
@@ -2,6 +2,13 @@
 #ifndef _LINUX_DIRENT_H
 #define _LINUX_DIRENT_H
 
+struct linux_dirent {
+	unsigned long	d_ino;
+	unsigned long	d_off;
+	unsigned short	d_reclen;
+	char		d_name[1];
These are not valid user/kernel api types.  If you want them in
userspace, please use the correct ones (__u64, __u16, __u8, etc.)

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help