All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: Andy Adamson <andros@netapp.com>
Cc: Suchit Kaura <skaura-Pe6u2o1+k2hBDgjK7y7TUQ@public.gmane.org>,
	linux-nfs@vger.kernel.org
Subject: Re: 4.1 client - LAYOUTCOMMIT &amp; close
Date: Tue, 06 Jul 2010 16:23:02 +0300	[thread overview]
Message-ID: <4C332E36.30307@panasas.com> (raw)
In-Reply-To: <EEBF0A56-92A7-4045-B483-C77A2CEFC086@netapp.com>

On Jul. 06, 2010, 16:12 +0300, Andy Adamson <andros@netapp.com> wrote:
> 
> On Jul 2, 2010, at 1:08 PM, Suchit Kaura wrote:
> 
>>> We are seriously considering removing the
>>> layoutcommit call from the file layout client.
>>> From the RFC5661:
>> For block/volume-based layouts, LAYOUTCOMMIT may require updating the
>>   block list that comprises the file and committing this layout to
>>   stable storage.  For file-based layouts, synchronization of
>>   attributes between the metadata and storage devices, primarily the
>>   size attribute, is required.
>>
>>   The control protocol is free to synchronize the attributes before it
>>   receives a LAYOUTCOMMIT; however, upon successful completion of a
>>   LAYOUTCOMMIT, state that exists on the metadata server that  
>> describes
>>   the file MUST be synchronized with the state that exists on the
>>   storage devices that comprise that file as of the client's last sent
>>   operation.  Thus, a client that queries the size of a file between a
>>   WRITE to a storage device and the LAYOUTCOMMIT might observe a size
>>   that does not reflect the actual data written.
>>
>> I understand and agree with the option that control protocol will  
>> update the
>> information on the MDFS for file layout type but does the text above  
>> not mark
>> layout commit as a consistency boundary even with servers supporting
>> filelayouts?
> 
> 
> For the file layout type, the COMMIT operation does this already, and  
> the LAYOUTCOMMIT is not needed. My reading of the above text is that  

This behavior is server implementation specific, isn't it?
What about a loosely clustered backend, is it required by the spec.
to communicate the file metadata in a cluster coherent way?

Benny

> if a LAYOUTCOMMIT is sent and successfully completed then the 'MUST be  
> synchronized with the state ..... " text applies. But why would the  
> file layout type want two synchronization points (LAYOUTCOMMIT and  
> COMMIT)? So, why send a LAYOUTCOMMIT for the file layout type?
> 
>> or are we saying that every write or DFS must be synchronized with
>> MDFS thru control protocol for file layout servers?
> 
> Nope, only on COMMIT.
> 
> -->Andy
> 
>>
>> Regards,
>> Suchit
>>
>> Andy Adamson <andros@...> writes:
>>
>>>
>>>
>>> On Jul 1, 2010, at 8:07 PM, Sandeep Joshi wrote:
>>>
>>> Hi Sandeep
>>>
>>>>
>>>> In certain cases, I don't see layoutcommit on a file at all even
>>>> after doing many writes.
>>>
>>> FYI:
>>>
>>> You should not be paying attention to layoutcommits  - they have no
>>> value for the file layout type.
>>>
>>> From RFC 5661:
>>>
>>> "The LAYOUTCOMMIT operation commits chages in the layout represented
>>> by the current filehandle, client ID (derived from the session ID in
>>> the preceding SEQUENCE operation), byte-range, and stateid."
>>>
>>> For the block layout type, this sentence has meaning in that there is
>>> a layoutupdate4 payload that enumerates the blocks that have changed
>>> state from being 'handed out' to being 'written'.
>>>
>>> The file layout type has no layoutupdate4 payload, and the layout  
>>> does
>>> not change due to writes, and thus the LAYOUTCOMMIT call is useless.
>>>
>>> The only field in the LAYOUTCOMMIT4args that might possibly be useful
>>> is the loca_last_write_offset which tells the server what the client
>>> thinks is the EOF of the file after WRITE. It is an extremely lame
>>> server (file layout type server) that depends upon clients for this
>>> info.
>>>
>>>>
>>>>
>>>>
>>>> Client side operations:
>>>>
>>>> open
>>>> write(s)
>>>> close
>>>>
>>>>
>>>> On server side (observed operations):
>>>>
>>>> open
>>>> layoutget's
>>>> close
>>>>
>>>>
>>>> But, I do not see laycommit at all. In terms data written by client
>>>> it is about 4-5MB.
>>>>
>>>> When does client issue laycommit?
>>>
>>> The latest linux client sends a layout commit when the VFS does a
>>> super_operations.write_inode call which happens when the metadata of
>>> an inode needs updating. We are seriously considering removing the
>>> layoutcommit call from the file layout client.
>>>
>>> -->Andy
>>>
>>>>
>>>>
>>>> regards,
>>>>
>>>> Sandeep
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-nfs"
>>>> in
>>>> the body of a message to majordomo@...
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux- 
>>> nfs" in
>>> the body of a message to majordomo@...
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
>>
>>
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nfs"  
>> in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2010-07-06 13:23 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-01 23:47 4.1 client - LAYOUTCOMMIT Sandeep Joshi
2010-07-02  0:07 ` 4.1 client - LAYOUTCOMMIT & close Sandeep Joshi
     [not found]   ` <A062FCC8662DA848949F7C3046B9BEAE01F3A6EE-e1HlL03umel79urLq6li5IWksG4c/lV9Sp/tIRYA5EM@public.gmane.org>
2010-07-02 15:41     ` Andy Adamson
2010-07-02 17:08       ` 4.1 client - LAYOUTCOMMIT &amp; close Suchit Kaura
     [not found]         ` <loom.20100702T190300-538-eS7Uydv5nfjZ+VzJOa5vwg@public.gmane.org>
2010-07-06 13:12           ` Andy Adamson
2010-07-06 13:23             ` Benny Halevy [this message]
2010-07-02 21:46       ` 4.1 client - LAYOUTCOMMIT & close Daniel.Muntz
2010-07-06 13:35         ` Benny Halevy
2010-07-06 13:37         ` Andy Adamson
2010-07-06 14:04           ` Boaz Harrosh
2010-07-06 19:20           ` Daniel.Muntz
2010-07-06 20:40             ` Trond Myklebust
2010-07-06 22:50               ` Daniel.Muntz
2010-07-06 23:23                 ` Trond Myklebust
2010-07-07 12:05               ` Benny Halevy
2010-07-07 13:06                 ` Trond Myklebust
2010-07-07 13:18                   ` [nfsv4] " Trond Myklebust
2010-07-07 13:51                     ` Benny Halevy
2010-07-07 14:03                       ` Trond Myklebust
2010-07-07 17:45                         ` Dean Hildebrand
2010-07-07 20:39                         ` Daniel.Muntz
2010-07-07 21:01                           ` Trond Myklebust
2010-07-07 22:04                             ` Noveck_David
2010-07-07 22:27                               ` Trond Myklebust
2010-07-07 22:44                               ` david.black
2010-07-07 22:52                                 ` Trond Myklebust
2010-07-07 23:09                                   ` Trond Myklebust
     [not found]                                     ` <1278544497.15524.17.camel@heimdal.trondhje! m .org>
     [not found]                                       ` < 4C35F5E3.3000604@panasas.com>
2010-07-07 23:14                                     ` Trond Myklebust
2010-07-08 15:59                                       ` Benny Halevy
2010-07-08 20:30                                         ` [nfsv4] " david.black
2010-07-08 21:16                                           ` Trond Myklebust
2010-07-08 23:51                                             ` Daniel.Muntz
     [not found]                                             ` <1278623771.13551.54.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2010-07-09  0:03                                               ` [nfsv4] " Sandeep Joshi
2010-07-08 22:12                                           ` sfaibish
2010-07-08 23:01                                             ` Tom Haynes
2010-07-08 23:57                                               ` sfaibish
2010-07-09  0:41                                               ` [nfsv4] " Trond Myklebust
2010-07-06 13:20 ` 4.1 client - LAYOUTCOMMIT Benny Halevy

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=4C332E36.30307@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=andros@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=skaura-Pe6u2o1+k2hBDgjK7y7TUQ@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.