linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Benjamin Coddington" <bcodding@redhat.com>
To: "Chuck Lever" <chuck.lever@oracle.com>
Cc: "Jason L Tibbitts III" <tibbs@math.uh.edu>,
	"Bruce Fields" <bfields@fieldses.org>,
	"Wolfgang Walter" <linux@stwm.de>,
	"Linux NFS Mailing List" <linux-nfs@vger.kernel.org>,
	km@cm4all.com, linux-kernel@vger.kernel.org
Subject: Re: Regression in 5.1.20: Reading long directory fails
Date: Wed, 11 Sep 2019 13:59:19 -0400	[thread overview]
Message-ID: <8DD22D2C-A26B-430E-AB10-E420B4C6A8F0@redhat.com> (raw)
In-Reply-To: <CD5EF2C8-DB99-467B-8048-B290BAD44D4B@oracle.com>

On 11 Sep 2019, at 13:43, Chuck Lever wrote:

>> On Sep 11, 2019, at 1:40 PM, Benjamin Coddington 
>> <bcodding@redhat.com> wrote:
>>
>> On 11 Sep 2019, at 13:29, Chuck Lever wrote:
>>
>>>> On Sep 11, 2019, at 1:26 PM, Benjamin Coddington 
>>>> <bcodding@redhat.com> wrote:
>>>>
>>>>
>>>> On 11 Sep 2019, at 12:39, Chuck Lever wrote:
>>>>
>>>>>> On Sep 11, 2019, at 12:25 PM, Benjamin Coddington 
>>>>>> <bcodding@redhat.com> wrote:
>>>>>>
>>>>
>>>>>> Instead, I think we want to make sure the mic falls squarely into 
>>>>>> the tail
>>>>>> every time.
>>>>>
>>>>> I'm not clear how you could do that. The length of the page data 
>>>>> is not
>>>>> known to the client before it parses the reply. Are you suggesting 
>>>>> that
>>>>> gss_unwrap should do it somehow?
>>>>
>>>> Is it too niave to always put the mic at the end of the tail?
>>>
>>> The size of the page content is variable.
>>>
>>> The only way the MIC will fall into the tail is if the page content 
>>> is
>>> exactly the largest expected size. When the page content is smaller 
>>> than
>>> that, the receive logic will place part or all of the MIC in 
>>> ->pages.
>>
>> Ok, right.  But what I meant is that xdr_buf_read_netobj() should be 
>> renamed
>> and repurposed to be "move the mic from wherever it is to the end of
>> xdr_buf's tail".
>>
>> But now I see what you mean, and I also see that it is already trying 
>> to do
>> that.. and we don't want to overlap the copy..
>>
>> So, really, we need the tail to be larger than twice the mic.. less 
>> 1.  That
>> means the fix is probably just increasing rslack for krb5i.
>
> What's the justification for that particular maximum size? Are you 
> sure the
> page contents are not spilling into the tail?

In the problem case, I am sure they are not.

The justification is that if the mic straddles pages and tail, today we 
try
to copy it to the end of the tail.  The room we'd need for that is the 
size
of the mic less any of it that is up in the pages.

  reply	other threads:[~2019-09-11 17:59 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-13 15:08 Regression in 5.1.20: Reading long directory fails Jason L Tibbitts III
2019-08-13 17:00 ` Jason L Tibbitts III
2019-08-22 19:39 ` Jason L Tibbitts III
2019-08-28 17:46   ` J. Bruce Fields
2019-08-28 18:29     ` Jason L Tibbitts III
2019-08-28 18:33       ` J. Bruce Fields
2019-09-03 15:49       ` Jason L Tibbitts III
2019-09-03 18:02         ` Wolfgang Walter
2019-09-03 19:06           ` Jason L Tibbitts III
2019-09-03 19:08             ` Chuck Lever
2019-09-03 21:37             ` Wolfgang Walter
2019-09-04  1:50               ` Jason L Tibbitts III
2019-09-06 14:48                 ` J. Bruce Fields
2019-09-06 20:47                   ` Jason L Tibbitts III
2019-09-06 20:50                     ` Chuck Lever
2019-09-08 11:39                       ` Benjamin Coddington
2019-09-08 15:19                         ` Trond Myklebust
2019-09-08 15:48                           ` Chuck Lever
2019-09-08 16:47                             ` Trond Myklebust
2019-09-08 16:51                               ` Chuck Lever
2019-09-11 16:25                       ` Benjamin Coddington
2019-09-11 16:39                         ` Chuck Lever
2019-09-11 17:26                           ` Benjamin Coddington
2019-09-11 17:27                             ` Benjamin Coddington
2019-09-11 17:29                             ` Chuck Lever
2019-09-11 17:40                               ` Benjamin Coddington
2019-09-11 17:43                                 ` Chuck Lever
2019-09-11 17:59                                   ` Benjamin Coddington [this message]
2019-09-11 17:50                                 ` Benjamin Coddington
2019-09-11 17:54                                   ` Chuck Lever
2019-09-12 12:29                                     ` Benjamin Coddington
2019-09-12 12:53                                       ` Trond Myklebust
2019-09-12 13:08                                         ` Benjamin Coddington
2019-09-12 13:13                                           ` J. Bruce Fields
2019-09-12 13:25                                             ` Trond Myklebust
2019-09-12 13:35                                               ` Benjamin Coddington
2019-09-12 13:14                                           ` Trond Myklebust

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 \
    --in-reply-to=8DD22D2C-A26B-430E-AB10-E420B4C6A8F0@redhat.com \
    --to=bcodding@redhat.com \
    --cc=bfields@fieldses.org \
    --cc=chuck.lever@oracle.com \
    --cc=km@cm4all.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux@stwm.de \
    --cc=tibbs@math.uh.edu \
    /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;
as well as URLs for NNTP newsgroup(s).