linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] NFSD support for FedFS junctions
@ 2011-08-29 18:48 Chuck Lever
  2011-08-29 18:48 ` [PATCH 1/3] NFSD: Cleanup for nfsd4_path() Chuck Lever
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chuck Lever @ 2011-08-29 18:48 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs

Hi Bruce-

Sometime soon we are going to have working and easy-to-install FedFS
user space components.  These kernel patches are going to be needed
to make server-side FedFS support work.

Would you consider these for 3.2?

---

Trond Myklebust (3):
      NFSD: Add a cache for fs_locations information
      NFSD: Remove the ex_pathname field from struct svc_export
      NFSD: Cleanup for nfsd4_path()


 fs/nfsd/export.c            |   15 +-----
 fs/nfsd/nfs4xdr.c           |  106 ++++++++++++++++++++++++++++++++-----------
 fs/nfsd/nfsd.h              |    7 +++
 fs/nfsd/vfs.c               |   15 ++++++
 include/linux/nfsd/export.h |    2 -
 5 files changed, 103 insertions(+), 42 deletions(-)

-- 
Chuck Lever

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH 0/3] NFSD patches to support junctions
@ 2011-09-02 16:38 Chuck Lever
  2011-09-02 16:38 ` [PATCH 2/3] NFSD: Remove the ex_pathname field from struct svc_export Chuck Lever
  0 siblings, 1 reply; 6+ messages in thread
From: Chuck Lever @ 2011-09-02 16:38 UTC (permalink / raw)
  To: linux-nfs

Sometime soon we are going to have easy-to-install user space FedFS
components.  Here are kernel patches needed to make server-side FedFS
support work.  Please consider these for the 3.2 kernel.

The third patch introduces a potentially expensive check to see if
a junction has been encountered during a mountpoint lookup.  An object
is a junction iff it has the requisite set of extended attributes.
However, reading an extended attribute is expensive on some file
systems.

To mitigate the cost of this check, junctions always have their sticky
bit set.  The expensive extended attribute part of the junction test
is done only if the sticky bit is present.

Note that today junctions are directories, but someday symlinks might
also act as junctions (for SMB2 support).  And very few files have the
sticky bit set.  So we avoid doing a directory test here.

Also, junctions ostensibly have all zero mode bits to hide their local
contents.  I don't think the kernel needs to be concerned about the
permissions as long as the sticky bit is set.  This allows some
flexibility in how junctions are represented.  However, Jeff thinks
that having nfsd4_is_junction() also consider mode bits would make the
expensive part of this test still less frequent.

Any thoughts about this?

---

Trond Myklebust (3):
      NFSD: Add a cache for fs_locations information
      NFSD: Remove the ex_pathname field from struct svc_export
      NFSD: Cleanup for nfsd4_path()


 fs/nfsd/export.c            |   15 +-----
 fs/nfsd/nfs4xdr.c           |  106 ++++++++++++++++++++++++++++++++-----------
 fs/nfsd/nfsd.h              |    7 +++
 fs/nfsd/vfs.c               |   16 ++++++
 include/linux/nfsd/export.h |    2 -
 5 files changed, 104 insertions(+), 42 deletions(-)

-- 
Chuck Lever

^ permalink raw reply	[flat|nested] 6+ messages in thread
* [PATCH 0/3] NFSD support for FedFS junctions [v3]
@ 2011-09-12 23:36 Chuck Lever
  2011-09-12 23:37 ` [PATCH 2/3] NFSD: Remove the ex_pathname field from struct svc_export Chuck Lever
  0 siblings, 1 reply; 6+ messages in thread
From: Chuck Lever @ 2011-09-12 23:36 UTC (permalink / raw)
  To: bfields; +Cc: linux-nfs

Sometime soon we are going to have easy-to-install user space FedFS
components.  Here are kernel patches needed to make server-side FedFS
support work.  Please consider these for the 3.2 kernel.

This respin addresses recent review comments.

Note that because NFSD previously didn't care about the execute bits
of junctions, neither does fedfs-utils-0.7.0 (released September 3,
2011).  Junctions created by this release and previous releases have
the sticky bit set, but the other mode bits are left untouched during
junction creation.

I will publish fedfs-utils-0.7.1 soon with a commit that makes new
junctions non-executable.

---

Trond Myklebust (3):
      NFSD: Add a cache for fs_locations information
      NFSD: Remove the ex_pathname field from struct svc_export
      NFSD: Cleanup for nfsd4_path()


 fs/nfsd/export.c            |   15 +-----
 fs/nfsd/nfs4xdr.c           |  106 ++++++++++++++++++++++++++++++++-----------
 fs/nfsd/nfsd.h              |    7 +++
 fs/nfsd/vfs.c               |   18 +++++++
 include/linux/nfsd/export.h |    2 -
 5 files changed, 106 insertions(+), 42 deletions(-)

-- 
Chuck Lever

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-09-12 23:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-29 18:48 [PATCH 0/3] NFSD support for FedFS junctions Chuck Lever
2011-08-29 18:48 ` [PATCH 1/3] NFSD: Cleanup for nfsd4_path() Chuck Lever
2011-08-29 18:49 ` [PATCH 2/3] NFSD: Remove the ex_pathname field from struct svc_export Chuck Lever
2011-08-29 18:55 ` [PATCH 0/3] NFSD support for FedFS junctions Chuck Lever
  -- strict thread matches above, loose matches on Subject: below --
2011-09-02 16:38 [PATCH 0/3] NFSD patches to support junctions Chuck Lever
2011-09-02 16:38 ` [PATCH 2/3] NFSD: Remove the ex_pathname field from struct svc_export Chuck Lever
2011-09-12 23:36 [PATCH 0/3] NFSD support for FedFS junctions [v3] Chuck Lever
2011-09-12 23:37 ` [PATCH 2/3] NFSD: Remove the ex_pathname field from struct svc_export Chuck Lever

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).