From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from imap.thunk.org ([74.207.234.97]:41896 "EHLO imap.thunk.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730659AbeJ3INX (ORCPT ); Tue, 30 Oct 2018 04:13:23 -0400 Date: Mon, 29 Oct 2018 19:22:22 -0400 From: "Theodore Y. Ts'o" To: Bart Van Assche Cc: linux-block@vger.kernel.org Subject: Re: [PATCH blktests] Fix build failure for discontiguous-io on 32-bit platforms Message-ID: <20181029232222.GD15839@thunk.org> References: <20181029161534.7564-1-tytso@mit.edu> <1540830403.196084.50.camel@acm.org> <20181029210822.GA15839@thunk.org> <1540848754.196084.105.camel@acm.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOKacYhQ+x31HxR3" In-Reply-To: <1540848754.196084.105.camel@acm.org> Sender: linux-block-owner@vger.kernel.org List-Id: linux-block@vger.kernel.org --BOKacYhQ+x31HxR3 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, Oct 29, 2018 at 02:32:34PM -0700, Bart Van Assche wrote: > > Well the potential integer truncation that could happen is here: > > > > case 'l': len = strtoul(optarg, NULL, 0); break; > > If the data type of 'len' would be changed into unsigned long, how could that > assignment cause integer truncation since strtoul() returns an unsigned long > value? The potential truncation in the existing code is because len is a size_t, and on a 32-bit platform, it's 32 bits while strotul returns a 64-bit value. I also think it really doesn't matter in practice. :-) I'm happy making the len to be an unsigned long, but then I then we would be passing passing a 64-bit to a vector's resize method on a 32-bit platform. It looks like g++ isn't complaining, so sure. I'll resend with that change. > What makes you think that ib_srp won't work on 32-bit systems? I don't think > that anyone uses this driver on a 32-bit system. I'm not aware of any aspect > of that driver that restricts it to 64-bit systems only either. Given the restricted address space on a 32-bit system, I would expect that this might be... challenging for RDMA; and it wasn't clear anyone willing to pay $$$$ to for RDMA gear would be willing to settle for a 32-bit CPU. The fact that support programs for blktests doesn't even build on a 32-bit platform doesn't bode well for how well ib_srp has been tested on 32-bit systems, in any case. :-) > Can you be more specific about what didn't work? Were you unable to start the > tests or did a particular test fail? It took a huge amount of work, but I finally was able to start the tests; but then they *all* fail. Attached is the results of running "kvm-xfstests --blktests srp". Part of the problem is I'm simply not familiar with the userspace tools (or the kernel components for that matter) used by the srp tests. It might simply be that I'm running to some version dependency on the userspace utilities? One thing that would certainly help for newcomers is a minimum set of kernel configs that are needed to allow blktests (and the srp tests in particular) to run. Better yet would be if the blktests listed all of the missing modules, instead of just saying, "you need module ", and then after the user recompiled the kernel with enabled, then it would say, "you need module ". I must have rebuilt the kernel a dozen+ times, each time needing to figure out which kernel configs I needed to enable to generate the missing module. Eventually when I get this all working, I'll update the suggested kernel defconfigs at https://github.com/tytso/xfstests-bld/tree/master/kernel-configs so others won't have to go through the pain that I did. :-) - Ted P.S. Here are the kernel modules I've found that I've needed for blk-tests on top of kernel defconfigs found above: % grep =m /build/ext4-64/defconfig CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_NVME=m CONFIG_NVME_TARGET=m CONFIG_NVME_TARGET_LOOP=m CONFIG_BLK_DEV_SR=m CONFIG_CHR_DEV_SG=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_EMC=m CONFIG_SCSI_DH_ALUA=m CONFIG_BLK_DEV_MD=m CONFIG_MD_MULTIPATH=m CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m CONFIG_TCM_USER2=m CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_SRPT=m CONFIG_RDMA_RXE=m (note the truly impressive number of modules needed in order to run the srp tests :-) --BOKacYhQ+x31HxR3 Content-Type: application/gzip Content-Disposition: attachment; filename="log.201810291903.gz" Content-Transfer-Encoding: base64 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 --BOKacYhQ+x31HxR3 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=defconfig CONFIG_LOCALVERSION="-xfstests" CONFIG_SYSVIPC=y CONFIG_POSIX_MQUEUE=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_CGROUPS=y CONFIG_USER_NS=y CONFIG_BLK_DEV_INITRD=y # CONFIG_COMPAT_BRK is not set CONFIG_SLAB=y CONFIG_SMP=y CONFIG_X86_X2APIC=y # CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_HYPERVISOR_GUEST=y CONFIG_PARAVIRT=y CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_MCORE2=y CONFIG_NR_CPUS=48 # CONFIG_X86_MCE_AMD is not set # CONFIG_MICROCODE is not set CONFIG_NUMA=y # CONFIG_AMD_NUMA is not set CONFIG_X86_PMEM_LEGACY=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_HZ_300=y CONFIG_KEXEC=y # CONFIG_SUSPEND is not set # CONFIG_ACPI_REV_OVERRIDE_POSSIBLE is not set # CONFIG_ACPI_TABLE_UPGRADE is not set # CONFIG_PCI_MMCONFIG is not set CONFIG_PCI_MSI=y CONFIG_IA32_EMULATION=y # CONFIG_DMIID is not set CONFIG_JUMP_LABEL=y CONFIG_REFCOUNT_FULL=y CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_ZONE_DEVICE=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_PACKET_DIAG=y CONFIG_UNIX=y CONFIG_UNIX_DIAG=y CONFIG_INET=y CONFIG_SYN_COOKIES=y # CONFIG_INET_XFRM_MODE_TRANSPORT is not set # CONFIG_INET_XFRM_MODE_TUNNEL is not set # CONFIG_INET_XFRM_MODE_BEET is not set CONFIG_INET_UDP_DIAG=y # CONFIG_INET6_XFRM_MODE_TRANSPORT is not set # CONFIG_INET6_XFRM_MODE_TUNNEL is not set # CONFIG_INET6_XFRM_MODE_BEET is not set CONFIG_NETLINK_DIAG=y # CONFIG_WIRELESS is not set CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y CONFIG_DEVTMPFS=y CONFIG_MTD=y CONFIG_MTD_BLOCK2MTD=y CONFIG_MTD_UBI=y CONFIG_BLK_DEV_NULL_BLK=m CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_NBD=m CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_NVME=m CONFIG_NVME_TARGET=m CONFIG_NVME_TARGET_LOOP=m CONFIG_SCSI=y # CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=m CONFIG_CHR_DEV_SG=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_VIRTIO=y CONFIG_SCSI_DH=y CONFIG_SCSI_DH_RDAC=m CONFIG_SCSI_DH_EMC=m CONFIG_SCSI_DH_ALUA=m CONFIG_MD=y CONFIG_BLK_DEV_MD=m CONFIG_MD_MULTIPATH=m CONFIG_BLK_DEV_DM=y CONFIG_DM_SNAPSHOT=y CONFIG_DM_THIN_PROVISIONING=y CONFIG_DM_ZERO=y CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=y CONFIG_DM_LOG_WRITES=y CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m CONFIG_TCM_USER2=m CONFIG_NETDEVICES=y CONFIG_VIRTIO_NET=y # CONFIG_ETHERNET is not set # CONFIG_WLAN is not set # CONFIG_INPUT_MOUSE is not set # CONFIG_SERIO_SERPORT is not set # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_RUNTIME_UARTS=32 CONFIG_HW_RANDOM=y # CONFIG_HW_RANDOM_INTEL is not set # CONFIG_HW_RANDOM_AMD is not set # CONFIG_HW_RANDOM_VIA is not set CONFIG_HW_RANDOM_VIRTIO=y # CONFIG_HWMON is not set # CONFIG_X86_PKG_TEMP_THERMAL is not set # CONFIG_HID is not set # CONFIG_USB_SUPPORT is not set CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_EXP_LEGACY_VERBS_NEW_UAPI=y CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_SRP=m CONFIG_INFINIBAND_SRPT=m CONFIG_RDMA_RXE=m CONFIG_RTC_CLASS=y # CONFIG_RTC_DRV_CMOS is not set CONFIG_UIO=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=y # CONFIG_X86_PLATFORM_DEVICES is not set # CONFIG_IOMMU_SUPPORT is not set CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y CONFIG_EXT2_FS_POSIX_ACL=y CONFIG_EXT2_FS_SECURITY=y CONFIG_EXT4_FS=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y CONFIG_EXT4_ENCRYPTION=y CONFIG_EXT4_DEBUG=y CONFIG_JBD2_DEBUG=y CONFIG_XFS_FS=y CONFIG_XFS_QUOTA=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_RT=y CONFIG_BTRFS_FS=y CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_BTRFS_DEBUG=y CONFIG_BTRFS_ASSERT=y CONFIG_F2FS_FS=y CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_CHECK_FS=y CONFIG_F2FS_FS_ENCRYPTION=y CONFIG_FS_DAX=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y # CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_QFMT_V2=y CONFIG_AUTOFS4_FS=y CONFIG_OVERLAY_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_CHILDREN=y CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_CONFIGFS_FS=y CONFIG_UBIFS_FS=y CONFIG_UBIFS_FS_ENCRYPTION=y CONFIG_9P_FS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_ASCII=y CONFIG_NLS_UTF8=y CONFIG_SECURITY=y CONFIG_FORTIFY_SOURCE=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_IMA=y CONFIG_IMA_WRITE_POLICY=y CONFIG_IMA_APPRAISE=y CONFIG_EVM=y # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set CONFIG_CRYPTO_ECHAINIV=y CONFIG_CRYPTO_CRC32C_INTEL=y CONFIG_CRYPTO_CRC32_PCLMUL=y CONFIG_CRYPTO_AES_NI_INTEL=y # CONFIG_CRYPTO_HW is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="certs/cert.pem" CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_INFO_REDUCED=y CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_DEBUG_OBJECTS=y CONFIG_DEBUG_KMEMLEAK=y CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=3000 CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_HARDLOCKUP_DETECTOR=y CONFIG_WQ_WATCHDOG=y CONFIG_PANIC_TIMEOUT=5 CONFIG_PROVE_LOCKING=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_ATOMIC_SLEEP=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_SG=y CONFIG_RCU_EQS_DEBUG=y CONFIG_FAULT_INJECTION=y CONFIG_FAIL_MAKE_REQUEST=y CONFIG_FAULT_INJECTION_DEBUG_FS=y CONFIG_FUNCTION_TRACER=y CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_FUNCTION_PROFILER=y # CONFIG_RUNTIME_TESTING_MENU is not set CONFIG_DEBUG_WX=y --BOKacYhQ+x31HxR3--