Hi, Benny, Cheers, -Bergwolf -----Original Message----- From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-owner@xxxxxxxxxxxxxxx] On Behalf Of Benny Halevy Sent: Friday, June 10, 2011 5:23 AM To: Peng Tao Cc: Jim Rees; linux-nfs@xxxxxxxxxxxxxxx; peter honeyman Subject: Re: [PATCH 87/88] Add configurable prefetch size for layoutget On 2011-06-09 08:07, Peng Tao wrote: > Hi, Jim and Benny, > > On Thu, Jun 9, 2011 at 9:58 PM, Jim Rees <rees@xxxxxxxxx> wrote: >> Benny Halevy wrote: >> >> > My understanding is that layoutget specifies a min and max, and the server >> >> There's a min. What do you consider the max? >> Whatever gets into csa_fore_chan_attrs.ca_maxresponsesize? >> >> The spec doesn't say max, it says "desired." I guess I assumed the server >> wouldn't normally return more than desired. > In fact server is returning "desired" length. The problem is that we > call pnfs_update_layout in nfs_write_begin, and it will end up setting > both minlength and length to page size. There is no space for client > to collapse layoutget range in nfs_write_begin. > That's a different issue. Waiting with pnfs_update_layout to flush time rather than write_begin if the whole page is written would help sending a more meaningful desired range as well as avoiding needless read-modify-writes in case the application also wrote the whole preallocated block. [PT] It is also the reason why we want to introduce layout prefetching, to get more segment than the page passed in nfs_write_begin. >> >> 18.43.3. DESCRIPTION >> ... >> >> The LAYOUTGET operation returns layout information for the specified >> byte-range: a layout. The client actually specifies two ranges, both >> starting at the offset in the loga_offset field. The first range is >> between loga_offset and loga_offset + loga_length - 1 inclusive. >> This range indicates the desired range the client wants the layout to >> cover. The second range is between loga_offset and loga_offset + >> loga_minlength - 1 inclusive. This range indicates the required >> range the client needs the layout to cover. Thus, loga_minlength >> MUST be less than or equal to loga_length. >> > > > -- Benny Halevy CTO, Tonian Inc. Tel: +972-54-802-8340 benny@xxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html