Open kinvaris opened 8 years ago
@redlicha , This only affects the fuse data path?
@saelbrec: correct.
FWIW, testing on a system with that option added leads to a kernel oops due to a failed assertion when dd'ing with O_DIRECT
to a volume. At the moment it's not clear if this is a direct consequence of this param but since we've not seen it before, further testing before enabling that option is needed.
# dd if=/dev/zero of=/mnt/myvpool/test-ar.raw bs=64k oflag=direct conv=notrunc
Segmentation fault
[Wed Sep 7 13:33:00 2016] kernel BUG at /build/linux-lts-wily-edDYjE/linux-lts-wily-4.2.0/mm/slub.c:3413!
[Wed Sep 7 13:33:00 2016] invalid opcode: 0000 [#1] SMP
[Wed Sep 7 13:33:00 2016] Modules linked in: ipmi_ssif intel_rapl iosf_mbi x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel kvm ast crct10dif_pclmul crc32_pclmul ttm cryptd drm_kms_helper sb_edac drm edac_core joydev i2c_algo_bit syscopyarea input_leds sysfillrect sysimgblt mei_me ioatdma lpc_ich shpchp mei wmi ipmi_si 8250_fintek ipmi_msghandler mac_hid acpi_power_meter acpi_pad nfsd knem(OE) auth_rpcgss binfmt_misc lp nfs_acl parport nfs lockd grace sunrpc fscache rdma_ucm(OE) ib_ucm(OE) rdma_cm(OE) iw_cm(OE) configfs ib_ipoib(OE) ib_cm(OE) ib_uverbs(OE) ib_umad(OE) mlx5_ib(OE) mlx5_core(OE) mlx4_ib(OE) ib_sa(OE) ib_mad(OE) ib_core(OE) ib_addr(OE) ib_netlink(OE) nls_iso8859_1 xfs libcrc32c mlx4_en(OE) btrfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor hid_generic usbhid hid ixgbe dca vxlan ip6_udp_tunnel udp_tunnel ptp ahci pps_core mlx4_core(OE) libahci megaraid_sas mdio mlx_compat(OE) raid6_pq raid1 raid0 multipath linear
[Wed Sep 7 13:33:00 2016] CPU: 1 PID: 8431 Comm: dd Tainted: G OE 4.2.0-22-generic #27~14.04.1-Ubuntu
[Wed Sep 7 13:33:00 2016] Hardware name: Supermicro SYS-F628R3-RC1BPT+/X10DRFR-NT, BIOS 1.0b 12/31/2014
[Wed Sep 7 13:33:00 2016] task: ffff881034e30000 ti: ffff880fc8570000 task.ti: ffff880fc8570000
[Wed Sep 7 13:33:00 2016] RIP: 0010:[<ffffffff811cc934>] [<ffffffff811cc934>] kfree+0x124/0x130
[Wed Sep 7 13:33:00 2016] RSP: 0018:ffff880fc8573c78 EFLAGS: 00010246
[Wed Sep 7 13:33:00 2016] RAX: 01ffff0000000000 RBX: ffff880035259000 RCX: 00000000c0000100
[Wed Sep 7 13:33:00 2016] RDX: 000077ff80000000 RSI: ffff881034e30000 RDI: ffff880035259000
[Wed Sep 7 13:33:00 2016] RBP: ffff880fc8573c98 R08: ffff880fc8570000 R09: 00000000000000f8
[Wed Sep 7 13:33:00 2016] R10: ffffea0000d49640 R11: 00000000ace44a97 R12: 00000000053a0000
[Wed Sep 7 13:33:00 2016] R13: ffffffff812ea7d7 R14: ffff880fc8573e38 R15: ffff880fc8573d60
[Wed Sep 7 13:33:00 2016] FS: 00007f7e76ae9740(0000) GS:ffff88103f240000(0000) knlGS:0000000000000000
[Wed Sep 7 13:33:00 2016] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[Wed Sep 7 13:33:00 2016] CR2: 00007f0076dc0000 CR3: 0000000fcdb81000 CR4: 00000000001406e0
[Wed Sep 7 13:33:00 2016] Stack:
[Wed Sep 7 13:33:00 2016] ffff880035259000 ffff880035259000 00000000053a0000 ffff8810060c7400
[Wed Sep 7 13:33:00 2016] ffff880fc8573d28 ffffffff812ea7d7 0000000000010000 ffff880fe3bb8600
[Wed Sep 7 13:33:00 2016] 0000000000010000 0000000100000000 ffff880fc8573ce8 00000000053b0000
[Wed Sep 7 13:33:00 2016] Call Trace:
[Wed Sep 7 13:33:00 2016] [<ffffffff812ea7d7>] fuse_direct_IO+0x1b7/0x280
[Wed Sep 7 13:33:00 2016] [<ffffffff81177cce>] generic_file_direct_write+0x9e/0x150
[Wed Sep 7 13:33:00 2016] [<ffffffff812eafec>] fuse_file_write_iter+0x15c/0x2e0
[Wed Sep 7 13:33:00 2016] [<ffffffff811ea8b8>] new_sync_write+0x88/0xb0
[Wed Sep 7 13:33:00 2016] [<ffffffff811ea907>] __vfs_write+0x27/0x40
[Wed Sep 7 13:33:00 2016] [<ffffffff811eaf39>] vfs_write+0xa9/0x190
[Wed Sep 7 13:33:00 2016] [<ffffffff811eae77>] ? vfs_read+0x117/0x130
[Wed Sep 7 13:33:00 2016] [<ffffffff811ebca6>] SyS_write+0x46/0xa0
[Wed Sep 7 13:33:00 2016] [<ffffffff817baab2>] entry_SYSCALL_64_fastpath+0x16/0x75
[Wed Sep 7 13:33:00 2016] Code: b6 49 f7 02 00 c0 00 00 74 21 49 8b 02 31 f6 f6 c4 40 74 04 41 8b 72 68 4c 89 d7 e8 e7 0f fb ff eb 95 4d 8b 52 30 e9 42 ff ff ff <0f> 0b 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 89 f1 48
[Wed Sep 7 13:33:00 2016] RIP [<ffffffff811cc934>] kfree+0x124/0x130
[Wed Sep 7 13:33:00 2016] RSP <ffff880fc8573c78>
[Wed Sep 7 13:33:00 2016] ---[ end trace 827f483ee34eac31 ]---
Set to Roadmap as it is located in the FUSE path of the code. Please raise complaints with me in case you would disagree.
When creating a vpool a upstart file is generated, in this upstart file a volumedriver parameter seems to be missing:
-o async_dio
After the change: