public inbox for [email protected]
 help / color / mirror / Atom feed
From: Jens Axboe <[email protected]>
To: Stefan Metzmacher <[email protected]>
Cc: io-uring <[email protected]>,
	Samba Technical <[email protected]>,
	Jeremy Allison <[email protected]>
Subject: Re: Data Corruption bug with Samba's vfs_iouring and Linux 5.6.7/5.7rc3
Date: Tue, 5 May 2020 11:39:14 -0600	[thread overview]
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

On 5/5/20 10:53 AM, Jens Axboe wrote:
> On 5/5/20 9:44 AM, Jens Axboe wrote:
>> On 5/5/20 8:41 AM, Jens Axboe wrote:
>>> On 5/5/20 4:04 AM, Stefan Metzmacher wrote:
>>>> Hi Jens,
>>>>
>>>> we currently have a bug report [1][2] regarding a data corruption with
>>>> Samba's vfs_io_uring.c [3].
>>>>
>>>> Is there're a know problem in newer kernels? It seems the 5.3 Kernel
>>>> doesn't have the problem (at least Jeremy wasn't able to reproduce it
>>>> on the Ubuntu 5.3 kernel).
>>>>
>>>> Do you have any hints how to track that down?
>>>
>>> I'll take a look at this! Any chance Jeremy can try 5.4 and 5.5 as well,
>>> just to see where we're at, roughly? That might be very helpful.
>>
>> Trying to setup samba in a vm here to attempt to reproduce. I'm a major
>> samba noob, running with the smb.conf from the reporters email, I get:
>>
>> [2020/05/05 15:43:07.126674,  0] ../../source4/smbd/server.c:629(binary_smbd_main)
>>   samba version 4.12.2 started.
>>   Copyright Andrew Tridgell and the Samba Team 1992-2020
>> [2020/05/05 15:43:07.152828,  0] ../../source4/smbd/server.c:826(binary_smbd_main)
>>   At this time the 'samba' binary should only be used for either:
>>   'server role = active directory domain controller' or to access the ntvfs file server with 'server services = +smb' or the rpc proxy with 'dcerpc endpoint servers = remote'
>>   You should start smbd/nmbd/winbindd instead for domain member and standalone file server tasks
>> [2020/05/05 15:43:07.152937,  0] ../../lib/util/become_daemon.c:121(exit_daemon)
>>   exit_daemon: daemon failed to start: Samba detected misconfigured 'server role' and exited. Check logs for details, error code 22
>>
>> Clue bat appreciated.
> 
> Got it working, but apparently the arch samba doesn't come with io_uring...
> One question, though, from looking at the source:
> 
> static ssize_t vfs_io_uring_pread_recv(struct tevent_req *req,
> 				  struct vfs_aio_state *vfs_aio_state)
> {
> [...]
> 	if (state->ur.cqe.res < 0) {
> 		vfs_aio_state->error = -state->ur.cqe.res;
> 		ret = -1;
> 	} else {
> 		vfs_aio_state->error = 0;
> 		ret = state->ur.cqe.res;
> 	}
> 
> 	tevent_req_received(req);
> [...]
> 
> I'm assuming this is dealing with short reads?
> 
> I'll try and see if I can get an arch binary build that has the
> vfs_io_uring module and reproduce.

Got that done, and I can now mount it on Linux. Been trying pretty
hard to trigger any corruptions on reads, but it works for me. Checked
that we see short reads, and we do, and that it handles it just fine.
So pretty blank right now on what this could be.

FWIW, I'm mounting on Linux as:

# mount -t cifs -o ro,guest //arch/data /smb

-- 
Jens Axboe


  reply	other threads:[~2020-05-05 17:39 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-05 10:04 Data Corruption bug with Samba's vfs_iouring and Linux 5.6.7/5.7rc3 Stefan Metzmacher
2020-05-05 14:41 ` Jens Axboe
2020-05-05 15:44   ` Jens Axboe
2020-05-05 16:53     ` Jens Axboe
2020-05-05 17:39       ` Jens Axboe [this message]
2020-05-05 17:48         ` Jeremy Allison
2020-05-05 17:50           ` Jens Axboe
     [not found]           ` <[email protected]>
2020-05-06 10:33             ` Stefan Metzmacher
2020-05-06 10:41               ` Stefan Metzmacher
     [not found]               ` <[email protected]>
2020-05-06 14:08                 ` Stefan Metzmacher
2020-05-06 14:43                   ` Andreas Schneider
2020-05-06 14:46                   ` Andreas Schneider
2020-05-06 15:06                     ` Stefan Metzmacher
2020-05-06 17:03                   ` Jeremy Allison
2020-05-06 17:13                     ` Jeremy Allison
2020-05-06 18:01                     ` Jeremy Allison
2020-05-05 20:19       ` Stefan Metzmacher
2020-05-06 12:55         ` Pavel Begunkov
2020-05-06 15:20           ` Stefan Metzmacher
2020-05-06 15:42             ` Pavel Begunkov
2020-05-07 16:43               ` Jens Axboe
2020-05-07 16:48                 ` Jeremy Allison
2020-05-07 16:50                   ` Jens Axboe
2020-05-07 18:31                     ` Jeremy Allison
2020-05-07 18:35                       ` Jens Axboe
2020-05-07 18:55                         ` Jeremy Allison
2020-05-07 18:58                           ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    [email protected] \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox