----- Original Message ----- > From: "Markos Chandras" <[email protected]> > To: [email protected] > Sent: Wednesday, 13 March, 2013 3:01:34 PM > Subject: [LTP] [PATCH 1/2] syscalls/getdents: Use getdents64 if SYS_getdents > is not defined > > From: Markos Chandras <[email protected]> > > New Linux Kernel architectures do not define NR_getdents so we > try to use the getdents64 syscall instead > > Signed-off-by: Markos Chandras <[email protected]> > --- > testcases/kernel/syscalls/getdents/getdents.h | 15 +++++++++++++++ > 1 files changed, 15 insertions(+), 0 deletions(-) > > diff --git a/testcases/kernel/syscalls/getdents/getdents.h > b/testcases/kernel/syscalls/getdents/getdents.h > index 1d5e584..12d2be4 100644 > --- a/testcases/kernel/syscalls/getdents/getdents.h > +++ b/testcases/kernel/syscalls/getdents/getdents.h > @@ -38,12 +38,23 @@ > * declare our own here. Wheeeeee. > */ > > +#ifdef SYS_getdents > struct linux_dirent { > unsigned long d_ino; > unsigned long d_off; > unsigned short d_reclen; > char d_name[]; > }; > +#else > +/* Use the 64-bit definition */ > +struct linux_dirent { > + unsigned long long d_ino; > + long long d_off; > + unsigned short d_reclen; > + unsigned char d_type; > + char d_name[0]; > +}; > +#endif > > static inline int > getdents(unsigned int fd, struct dirent *dirp, unsigned int count) > @@ -57,7 +68,11 @@ getdents(unsigned int fd, struct dirent *dirp, > unsigned int count) > unsigned int i; > > ptrs.buf = buf; > +#ifdef SYS_getdents > ret = syscall(SYS_getdents, fd, buf, count); > +#else > + ret = syscall(SYS_getdents64, fd, buf, count); > +#endif
Just a thought.. What about turning it to runtime check? There could be parameter to switch between SYS_getdents/SYS_getdents64 and we can have both (with/without that parameter) in runtest/syscalls. If it's supported it runs, if not ends with TCONF. That way we could have both version on arches that support both syscalls. Regards, Jan > if (ret < 0) > return ret; > > -- > 1.7.1 > > > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_mar > _______________________________________________ > Ltp-list mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ltp-list > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
