From: Christoph Hellwig <hch@infradead.org>
To: Benny Halevy <bhalevy@primarydata.com>
Cc: Christoph Hellwig <hch@infradead.org>,
bfields@redhat.com, NFS list <linux-nfs@vger.kernel.org>
Subject: Re: nfs4_file usage
Date: Wed, 16 Oct 2013 05:33:15 -0700 [thread overview]
Message-ID: <20131016123315.GA29454@infradead.org> (raw)
In-Reply-To: <525E840D.3040509@primarydata.com>
On Wed, Oct 16, 2013 at 03:18:21PM +0300, Benny Halevy wrote:
> The nfs4.1 layout stateid is like any other stateid (open/lock/deleg)
> but it's life time is a bit different as it is not descending from the
> open stateid (though the protocol requires the client to use it
> to acquire the first layout for the file) and it is released via
> either LAYOUTRETURN or CLOSE (in the "return_on_close" case).
> The rules here are different enough from open/lock/deleg stateids that
> pnfsd needs special code to handle the management of the actual layout state
> under the layout stateid and manipulate it accordingly.
I'm not primarily ocnfused about the protocol even if that isn't all
that clear either. I'm more worried about the code in and around
nfs4_find_create_layout_stateid. I have looked a bit deeper into it
and I think the main problem is that struct nfs4_stid isn't refcounted
by itself, which really confused me expecting nfsd4_lookup_stateid
to return a reference to it.
> How many bits in the kernel address space are unique?
> I am under the impression that they'd differ mostly in their least significant bits anyway.
> Regardless, if it works well now then no reason to change it.
In theory the hash_ptr helper is there to take care exactly of that sort
of issue, in practice I can't see anything in there right now.
Before that becomes an issue we'll have to replace that dumb hash with a
more scalable data structure anyway.
next prev parent reply other threads:[~2013-10-16 12:33 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20131015211445.GA23636@infradead.org>
[not found] ` <525DB943.3010707@primarydata.com>
[not found] ` <20131016064243.GA28758@infradead.org>
2013-10-16 8:21 ` state lock elimination Benny Halevy
2013-10-16 18:22 ` Christoph Hellwig
[not found] ` <525E2C5C.4020104@primarydata.com>
[not found] ` <20131016064649.GB28758@infradead.org>
2013-10-16 8:45 ` nfs4_file usage Benny Halevy
2013-10-16 8:51 ` Christoph Hellwig
2013-10-16 12:18 ` Benny Halevy
2013-10-16 12:33 ` Christoph Hellwig [this message]
2013-10-16 12:48 ` 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=20131016123315.GA29454@infradead.org \
--to=hch@infradead.org \
--cc=bfields@redhat.com \
--cc=bhalevy@primarydata.com \
--cc=linux-nfs@vger.kernel.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 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).