diff options
author | Yadan Fan <ydfan@novell.com> | 2016-02-29 09:44:57 +0300 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2016-02-29 09:46:55 +0300 |
commit | 1ee9f4bd1a97026a7b2d7ae9f1f74b45680d0003 (patch) | |
tree | d7fcdad2aa1f756b1f6da94076e939331cb7b059 /fs/dlm | |
parent | 6cc3b24235929b54acd5ecc987ef11a425bd209e (diff) | |
download | linux-1ee9f4bd1a97026a7b2d7ae9f1f74b45680d0003.tar.xz |
Fix cifs_uniqueid_to_ino_t() function for s390x
This issue is caused by commit 02323db17e3a7 ("cifs: fix
cifs_uniqueid_to_ino_t not to ever return 0"), when BITS_PER_LONG
is 64 on s390x, the corresponding cifs_uniqueid_to_ino_t()
function will cast 64-bit fileid to 32-bit by using (ino_t)fileid,
because ino_t (typdefed __kernel_ino_t) is int type.
It's defined in arch/s390/include/uapi/asm/posix_types.h
#ifndef __s390x__
typedef unsigned long __kernel_ino_t;
...
#else /* __s390x__ */
typedef unsigned int __kernel_ino_t;
So the #ifdef condition is wrong for s390x, we can just still use
one cifs_uniqueid_to_ino_t() function with comparing sizeof(ino_t)
and sizeof(u64) to choose the correct execution accordingly.
Signed-off-by: Yadan Fan <ydfan@suse.com>
CC: stable <stable@vger.kernel.org>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/dlm')
0 files changed, 0 insertions, 0 deletions