From: Boaz Harrosh <bharrosh@panasas.com>
To: Peng Tao <bergwolf@gmail.com>
Cc: Benny Halevy <bhalevy@tonian.com>, <linux-nfs@vger.kernel.org>,
Peng Tao <peng_tao@emc.com>,
Trond Myklebust <Trond.Myklebust@netapp.com>,
Fred Isaman <iisaman@netapp.com>
Subject: Re: [PATCH] pnfsblock: init pg_bsize properly
Date: Mon, 22 Aug 2011 16:52:12 -0700 [thread overview]
Message-ID: <4E52EBAC.8070908@panasas.com> (raw)
In-Reply-To: <CA+a=Yy6BSmEWurZuFN-8axTS0gfeXaguw5tcayeVjJmcFAztOQ@mail.gmail.com>
On 08/17/2011 02:35 AM, Peng Tao wrote:
> Hi, Benny and Boaz,
>
<snip>
> In pnfs_do_multiple_reads/pnfs_do_multiple_writes, data->mds_ops will
> be set as desc->pg_rpc_callops, which is determined in
> nfs_generic_flush/nfs_generic_pagein according to desc->pg_bsize. For
> blocklayout, we wouldn't want to set data->mds_ops to
> partial_read/write ops, so I write the patch to use lseg length as
> pg_bsize.
>
Do you mean in the case where MDS sets (pg_bsize < PAGE_SIZE) ?
Right, that is a problem. (Theoretically, because the pNFSD-Linux server
does not do that. Do you have a Server that does?)
> LD can override pg_bsize in pg_init because
> nfs_pageio_reset_read_mds/nfs_pageio_reset_write_mds will reset it to
> server rsize/wsize if pnfs is not tried.
>
So if it is the "pg_bsize < PAGE_SIZE" but pNFS-IO case then I don't
like your patch, at all. We should fix the generic code to behave
properly, and not let LDs hack their way out. (For example what about
objects and files LDs)
There is a few ways you can fix the generic code. One is override the
desc->pg_rpc_callops for the pNFS case to always be the same one. Or
override the test for (pg_bsize < PAGE_SIZE) in the pNFS case if we have
a lseg. Or some other clean way.
But please don't fix it like that, inside each LD driver.
[ Trond Fred
One thing I do not understand about the files-layout operations. You
have explained in the passed that r/wsize sent from the MDS is also the
same one for each DS. So if we take an example of rsize beeing 2MB
and there is a stripping of 2 DS for that layout.(Say strip_unit==rsize)
Then we need to read 1/2 of that page from one DS and the 2/2 half from the
second. Will current partial_read/write work if going through files-LD?
]
Thanks
Boaz
next prev parent reply other threads:[~2011-08-22 23:52 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-13 1:04 [PATCH] pnfsblock: init pg_bsize properly Peng Tao
2011-08-16 21:05 ` Boaz Harrosh
2011-08-17 7:15 ` Benny Halevy
2011-08-17 9:35 ` Peng Tao
2011-08-17 16:27 ` Benny Halevy
2011-08-18 14:34 ` Peng Tao
2011-08-22 23:52 ` Boaz Harrosh [this message]
2011-08-23 0:00 ` Myklebust, Trond
2011-08-23 15:01 ` Peng Tao
2011-08-23 21:19 ` Boaz Harrosh
2011-08-25 20:15 ` Jim Rees
2011-08-26 0:16 ` Boaz Harrosh
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=4E52EBAC.8070908@panasas.com \
--to=bharrosh@panasas.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bergwolf@gmail.com \
--cc=bhalevy@tonian.com \
--cc=iisaman@netapp.com \
--cc=linux-nfs@vger.kernel.org \
--cc=peng_tao@emc.com \
/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).