FW: Sporadic permission denied error in Samba 4.3 and 4.4, 4.2 OK
Jeremy Allison
jra at samba.org
Mon Nov 14 20:00:51 UTC 2016
On Mon, Nov 14, 2016 at 07:45:14PM +0000, Youzhong Yang wrote:
> Thanks Jeremy.
>
> Base on your comment, I enabled debug output in the following places:
>
> source3/smbd/open.c: send_break_message()
> DEBUG(0, ("Sending break request to PID %s for %s break_to %u\n",
> server_id_str_buf(exclusive->pid, &tmp), file_id_string_tos(&exclusive->id), break_to));
>
> source3/lib/messages.c: messaging_recv_cb()
> DEBUG(0, ("%s: Received message 0x%x len %u (num_fds:%u) from %s\n",
> __func__, (unsigned)rec.msg_type,
> (unsigned)rec.buf.length,
> (unsigned)num_fds,
> server_id_str_buf(rec.src, &idbuf)));
>
> source3/smbd/oplock.c: process_oplock_break_message()
> DEBUG(0, ("Got oplock break to %u message from pid %s: %s/%llu\n",
> (unsigned)break_to, server_id_str_buf(src, &tmp),
> file_id_string_tos(&msg.id),
> (unsigned long long)msg.share_file_id));
>
> The issue is not that the Windows client didn't respond to lease break request - sometimes the break message was lost, never received by the corresponding smbd process.
>
> Since we don't have this issue in Samba 4.2.x, I think most likely something in the messaging system caused the problem. I am still struggling to find out.
What message is being lost ? There are 4 messages:
1) smbd -> smbd (request lease break - inter process messaging)
2). smbd -> client (request lease break - on the wire)
3). client -> smbd (lease break ack - on the wire).
4). smbd -> smbd (broke lease - retry open - inter process messaging).
Under what circumstances does this occur ?
More information about the samba-technical
mailing list