Re: [4.20-rc1 regression] dio starts to block

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's no longer reproducible on 20190111 tree.

Thanks!

On Wed, Dec 19, 2018 at 3:50 PM Murphy Zhou <jencce.kernel@xxxxxxxxx> wrote:
>
> Good to know.  Thansk!  For the record, it's reproducible on
> linux-next-20181218 tree.
>
> On 12/19/18, Steve French <smfrench@xxxxxxxxx> wrote:
> > There were three possibly related fixes - one that went in after rc1,
> > and two marked for stable that Long Li did that were in linux-next
> > (and will be back in linux-next builds in a few days)
> >
> > On Fri, Dec 14, 2018 at 2:13 AM Murphy Zhou <jencce.kernel@xxxxxxxxx>
> > wrote:
> >>
> >> Hi,
> >>
> >> It seems that there is a problem in the new dio functions.
> >>
> >> Direct IO on cifs mount is blocking on read since v4.20-rc1. It was ok on
> >> v4.19.
> >>
> >> Bisect points to commit:
> >>         be4eb68 CIFS: Add direct I/O functions to file_operations
> >>
> >> With this commit reverted on 4.20-rc1, test is not blocking any more.
> >>
> >> This is easily reproducible by LTP diotest4 on cifs mount, from v4.20-rc1
> >> until
> >> latest Linus tree.  Ctrl-C can interrupt the blocking process.
> >>
> >> Sorry for the late report,
> >> Murphy
> >>
> >> # gdb says it's blocking on open
> >> diotest4   18  TFAIL  :  diotest4.c:180: read, write with non-aligned
> >> buffer
> >> 458             close(fd);
> >> (gdb)
> >> 465             if ((fd = open(filename, O_DIRECT | O_RDWR)) < 0) {
> >> (gdb)
> >> 469             if (lseek(fd, offset, SEEK_SET) < 0) {
> >> (gdb)
> >> 474                     errno = 0;
> >> (gdb)
> >> 475                     ret = read(fd, (char *)((ulong) ADDRESS_OF_MAIN &
> >> pagemask),
> >> (gdb)
> >>
> >> # steps to reproduce
> >> git clone https://github.com/linux-test-project/ltp.git
> >> cd ltp
> >> make autotools
> >> ./configure
> >> make
> >> TMPDIR=/cifsmnt ./testcases/kernel/io/direct_io/diotest4
> >>
> >> /cifsmnt is the cifs mountpoint.
> >>
> >> # dmesg
> >> [  234.469584] CPU: 1 PID: 1876 Comm: diotest4 Not tainted
> >> 4.20.0-rc1-6510223 #1
> >> [  234.469807] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
> >> [  234.470026] Call Trace:
> >> [  234.470361]  dump_stack+0x46/0x60
> >> [  234.470710]  cifs_send_async_read.isra.47.cold.62+0x22/0x27 [cifs]
> >> [  234.470983]  __cifs_readv+0x169/0x360 [cifs]
> >> [  234.471292]  __vfs_read+0x12e/0x190
> >> [  234.471513]  vfs_read+0x85/0x130
> >> [  234.471699]  ksys_read+0x4a/0xb0
> >> [  234.471939]  do_syscall_64+0x50/0x190
> >> [  234.472200]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
> >> [  234.472435] RIP: 0033:0x7fefecddeb52
> >> [  234.472630] Code: 94 20 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b6 0f
> >> 1f 80 00 00 00 00 f3 0f 1e fa 8b 05 f6 d8 20 00 85 c0 75 12 31 c0 0f 05
> >> <48> 3d 00 f0 ff ff 77 56 c3 0f 1f 44 00 00 41 54 49 89 d4 55 48 89
> >> [  234.473075] RSP: 002b:00007ffe0bbe51f8 EFLAGS: 00000246 ORIG_RAX:
> >> 0000000000000000
> >> [  234.473319] RAX: ffffffffffffffda RBX: 0000000000000fff RCX:
> >> 00007fefecddeb52
> >> [  234.473529] RDX: 0000000000001000 RSI: 00007fefeca2c000 RDI:
> >> 0000000000000006
> >> [  234.473738] RBP: 00000000fffff000 R08: 0000000000411b4f R09:
> >> 00000000fe534d42
> >> [  234.473959] R10: 0000000000000000 R11: 0000000000000246 R12:
> >> 00007fefed2046c0
> >> [  234.474180] R13: 0000000000b9a000 R14: fffffffffffff000 R15:
> >> 00007ffe0bbe5228
> >>
> >> # ps
> >>  1871  1876  1876  1624 pts/0     1646 D        0   0:00              \_
> >> diotest4
> >>
> >> # mount.cifs -V
> >> mount.cifs version: 6.8
> >>
> >> # mount | grep cifs
> >> //localhost/test on /cifsmnt type cifs
> >> (rw,relatime,vers=3.1.1,cache=strict,username=root,uid=0,noforceuid,gid=0,noforcegid,addr=0000:0000:0000:0000:0000:0000:0000:0001,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,sfu,mfsymlinks,rsize=4194304,wsize=4194304,echo_interval=60,actimeo=1)
> >>
> >> # cat /etc/samba/smb.conf
> >> [test]
> >>     path = /export/cifstest
> >>     writeable = yes
> >>
> >> # smbd -V
> >> Version 4.9.1
> >
> >
> >
> > --
> > Thanks,
> >
> > Steve
> >




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux