mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: NeilBrown <neilb@suse.de>,
	"David M. Grimes" <dgrimes@navisite.com>,
	Atal Shargorodsky <atal@codefidence.com>,
	Gilad Ben-Yossef <gilad@codefidence.com>
Cc: nfs@lists.sourceforge.net, linux-kernel@vger.kernel.org,
	Hugh Dickins <hugh@veritas.com>
Subject: Re: [PATCH 001 of 8] knfsd: Add nfs-export support to tmpfs
Date: Thu, 28 Sep 2006 23:29:53 -0700	[thread overview]
Message-ID: <20060928232953.6da08f19.akpm@osdl.org> (raw)
In-Reply-To: <1060929030839.24024@suse.de>

On Fri, 29 Sep 2006 13:08:39 +1000
NeilBrown <neilb@suse.de> wrote:

> +static int shmem_encode_fh(struct dentry *dentry, __u32 *fh, int *len, int connectable)
> +{
> +	struct inode *inode = dentry->d_inode;
> +
> +	if (*len < 2)
> +		return 255;
> +
> +	if (hlist_unhashed(&inode->i_hash)) {
> +		/* Unfortunately insert_inode_hash is not idempotent,
> +		 * so as we hash inodes here rather than at creation
> +		 * time, we need a lock to ensure we only try
> +		 * to do it once
> +		 */
> +		static DEFINE_SPINLOCK(lock);
> +		spin_lock(&lock);
> +		if (hlist_unhashed(&inode->i_hash))
> +			insert_inode_hash(inode);
> +		spin_unlock(&lock);
> +	}

This looks fishy.

How do we get two callers in here at the same time for the same inode?

Why don't other filesystems have the same problem?



  reply	other threads:[~2006-09-29  6:30 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-29  3:08 [PATCH 000 of 8] knfsd: Introduction NeilBrown
2006-09-29  3:08 ` [PATCH 001 of 8] knfsd: Add nfs-export support to tmpfs NeilBrown
2006-09-29  6:29   ` Andrew Morton [this message]
2006-09-29  6:48     ` [NFS] " Neil Brown
2006-09-29 19:41       ` Hugh Dickins
2006-10-03  0:08         ` Neil Brown
2006-09-29  3:08 ` [PATCH 002 of 8] knfsd: lockd: fix refount on nsm NeilBrown
2006-09-29  6:01   ` [NFS] " Olaf Kirch
2006-09-29  3:08 ` [PATCH 003 of 8] knfsd: Fix auto-sizing of nfsd request/reply buffers NeilBrown
2006-09-29  3:08 ` [PATCH 004 of 8] knfsd: Close a race-opportunity in d_splice_alias NeilBrown
2006-09-29  3:09 ` [PATCH 005 of 8] knfsd: nfsd: store export path in export NeilBrown
2006-09-29  3:09 ` [PATCH 006 of 8] knfsd: nfsd4: fslocations data structures NeilBrown
2006-09-29  6:45   ` Andrew Morton
2006-10-02 18:23     ` [NFS] " J. Bruce Fields
2006-10-02 18:24       ` [PATCH 1 of 3] nfsd4: fix fs locations bounds-checking J. Bruce Fields
2006-10-02 18:26       ` [PATCH 2 of 3] nfsd4: fslocs: fix compile in non-CONFIG_NFSD_V4 case J. Bruce Fields
2006-10-02 18:26       ` [PATCH 3 of 3] nfsd4: fslocs: remove spurious NULL check J. Bruce Fields
2006-09-29  3:09 ` [PATCH 007 of 8] knfsd: nfsd4: xdr encoding for fs_locations NeilBrown
2006-09-29  3:09 ` [PATCH 008 of 8] knfsd: nfsd4: actually use all the pieces to implement referrals NeilBrown

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=20060928232953.6da08f19.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=atal@codefidence.com \
    --cc=dgrimes@navisite.com \
    --cc=gilad@codefidence.com \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=nfs@lists.sourceforge.net \
    /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

Powered by JetHome