public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Adamson <andros@netapp.com>
To: Rick Macklem <rick@snowhite.cis.uoguelph.ca>
Cc: erveith@de.ibm.com, linux-nfs@vger.kernel.org, nfsv4@linux-nfs.org
Subject: Re: nfs4 write delegation status
Date: Thu, 23 Jul 2009 14:11:46 -0400	[thread overview]
Message-ID: <2CFD9099-9CE1-479D-99D0-80C4E5FA58F4@netapp.com> (raw)
In-Reply-To: <200907231510.LAA43979@snowhite.cis.uoguelph.ca>


On Jul 23, 2009, at 11:10 AM, Rick Macklem wrote:

>>> I really don't want to enable write delegations until we figure  
>>> out how
>>> to enforce them correctly against local (non-nfs) users of the  
>>> exported
>>> filesystem as well.  In addition to breaking delegations on read  
>>> opens,
>>> that means breaking delegations or doing a cb_getattr on  
>>> operations like
>>> stat.
>>
>> do you know whether there are local FS where the maintainers at  
>> least plan
>> to incorporate delegations?
>
> I'm not a Linux guy, so I'm not familiar with the internal  
> structure, but...
> in general, I don't think the problem is with local file systems.  
> Usually
> the problem is with local system call access. For example, if a
> process running locally on the server opens a file, the delegation  
> should
> be recalled, so that changes done locally on the client get flushed  
> back
> to the server. Also, a write delegation allows a client to do byte  
> range
> locking locally in the client, so the write delegation needs to be
> recalled before anything gets a byte range lock locally in the server.

The delegation implementation on the Linux server uses the vfs lease  
subsystem, and so is integrated with local access - conflicting opens  
done locally do recall delegations.  But the last time I looked, the  
lease subsystem is not complete as it doesn't recall leases (nor  
delegations) on remove, rename, etc. Another problem is that while  
write delegations improve performance for certain workloads, they kill  
performance for others.

-->Andy

>
>
> A Samba server running in the nfs server would be doing "local" ops
> for the purpose of this discussion. (I'm not sure if Samba goes as far
> as doing Open/Share locks for clients?)
>
> rick
> --
> 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:[~2009-07-23 18:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-23 15:10 nfs4 write delegation status Rick Macklem
2009-07-23 18:11 ` Andy Adamson [this message]
2009-07-24 18:44   ` J. Bruce Fields
2009-07-24 19:32     ` David V. Cloud
  -- strict thread matches above, loose matches on Subject: below --
2009-07-21 21:47 David V. Cloud
     [not found] ` <fe2cbb740907211447t4dfcc0dara63bb96648599638-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-07-22 16:38   ` J. Bruce Fields
2009-07-23  8:12     ` Eric Veith
2009-07-23 13:00       ` J. Bruce Fields

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=2CFD9099-9CE1-479D-99D0-80C4E5FA58F4@netapp.com \
    --to=andros@netapp.com \
    --cc=erveith@de.ibm.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=nfsv4@linux-nfs.org \
    --cc=rick@snowhite.cis.uoguelph.ca \
    /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