From: Bob Glossman Date: Thu, 1 May 2014 15:51:51 +0000 (-0700) Subject: LU-4713 tests: fix fhandle syscall test progarm X-Git-Tag: 2.5.59~5 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=2b8c758767f3b2c7579f8635e31166ffc0f521d2;ds=sidebyside LU-4713 tests: fix fhandle syscall test progarm Replace the incorrect local definitions in the fhandle test program with more correct and current ones from SLES #include files. Local defintions are only used in the case where the fhandle syscall feature is present in the kernel, but support isn't present in glibc. For now that particular config is only seen in SLES11SP3, so the internal and local definitions must match the ones from that distribution. Test-Parameters: clientdistro=sles11sp3 testlist=sanity envdefinitions=ONLY=237 Signed-off-by: Bob Glossman Change-Id: Ie2106325ecc2b2d2e6aeaba1cc3f8b995f503ba8 Reviewed-on: http://review.whamcloud.com/10189 Tested-by: Jenkins Reviewed-by: John L. Hammond Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/lustre/tests/check_fhandle_syscalls.c b/lustre/tests/check_fhandle_syscalls.c index df7104c..771ac9c 100644 --- a/lustre/tests/check_fhandle_syscalls.c +++ b/lustre/tests/check_fhandle_syscalls.c @@ -48,14 +48,35 @@ #if !defined(HAVE_FHANDLE_GLIBC_SUPPORT) && defined(HAVE_FHANDLE_SYSCALLS) /* Because the kernel supports this functions doesn't mean that glibc does. * Just in case we define what we need */ -struct file_handle -{ - unsigned int handle_bytes; +struct file_handle { + __u32 handle_bytes; int handle_type; - /* File identifier. */ + /* file identifier */ unsigned char f_handle[0]; }; +#if defined(_ASM_X86_UNISTD_64_H) + +#ifndef __NR_name_to_handle_at +#define __NR_name_to_handle_at 303 +#endif + +#ifndef __NR_open_by_handle_at +#define __NR_open_by_handle_at 304 +#endif + +#elif defined(_ASM_X86_UNISTD_32_H) + +#ifndef __NR_name_to_handle_at +#define __NR_name_to_handle_at 341 +#endif + +#ifndef __NR_open_by_handle_at +#define __NR_open_by_handle_at 342 +#endif + +#else + #ifndef __NR_name_to_handle_at #define __NR_name_to_handle_at 264 #endif @@ -64,6 +85,9 @@ struct file_handle #define __NR_open_by_handle_at 265 #endif + +#endif + static inline int name_to_handle_at(int mnt_fd, const char *filename, struct file_handle *fh, int *mnt_id, int flags)