linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Weston Andros Adamson <dros@primarydata.com>
To: bfields@fieldses.org
Cc: linux-nfs@vger.kernel.org, Weston Andros Adamson <dros@primarydata.com>
Subject: [PATCH pynfs v2 00/16] prep for flex file layout server
Date: Thu,  5 Jun 2014 09:55:28 -0400	[thread overview]
Message-ID: <1401976544-36374-1-git-send-email-dros@primarydata.com> (raw)

Changes in v2:

 - moved "4.1 client: reclaim_complete after create_session" to
   "dataserver: reclaim_complete after create_session" as the implicit
   reclaim complete is needed in DS path, but not in all server tests.

 - dropped "4.1 server: service RECLAIM_COMPLETE operations" as it's
   unneeded.

 - formatted these patches with -M flag so we can see moved files

.. and I pushed the changes to my ff_prep branch.

Thanks!
 -dros


These patches are in preparation for the pynfs implementation of a flex
file layout server.

I already have patches for a working flex file server, but I figure those
should wait until the spec is complete ;)

I pushed these patches to my linux-nfs.org tree on branch 'ff_prep':

 git://git.linux-nfs.org/projects/dros/pynfs.git

The prep includes:

 - patches that enable pynfs mds using real v4.1 DSes (on the backend,
   not usable from clients as there is no stateid sharing between mds and ds)

 - fix several bugs in pnfs path

 - move .x files to subdir 'xdrdef' - the nfs4.1 directory was getting crowded
   and we're going to add several more .x files along with all of the
   autogenerated files.  Note this change touches server tests too.

 - clean up the nfs4server's output - no longer print out EVERY part of EVERY
   operation which was very efficient at hiding tracebacks and made pynfs
   even slower. Old functionality is now switched on with -v flag. Also
   added an in-between mode "-s" that prints a summary of whats going on.

 - support for NFSv3 backend communication - this is not actually used yet,
   but can be tested with file layout by always returning
   NFS4ERR_LAYOUTUNAVAILABLE in layoutget and using DataServer3 class instead
   of DataServer41


Weston Andros Adamson (16):
  dataserver: reclaim_complete after create_session
  dataserver: only catch connection error
  4.1 server: avoid traceback in DS disconnect()
  move .x files to subdir 'xdrdef'
  4.1 client: remove unused imports
  4.1 server: add -v flag & silence random output
  4.1 server: add -s option to print summary of ops
  dataserver: make generic interface to ops
  dataserver: don't import * from nfs4 specific mods
  4.1 server: move nfs4_ops.py to nfs_ops.py
  add mntv3, portmapv2 and nfsv3 .x files
  dataserver: separate generic and 4.1 code
  4.1 server: add support for NFSv3 data servers
  4.1 server: get rid of old op_getdeviceinfo
  rpc: on socket error, close and mark pipe inactive
  nfs3clnt: reconnect when sending on inactive pipe

 nfs4.1/block.py                             |   8 +-
 nfs4.1/client41tests/environment.py         |   4 +-
 nfs4.1/config.py                            |   8 +-
 nfs4.1/dataserver.py                        | 308 ++++++++---
 nfs4.1/fs.py                                |  38 +-
 nfs4.1/nfs3client.py                        | 185 +++++++
 nfs4.1/nfs4_ops.py                          |  61 ---
 nfs4.1/nfs4client.py                        |  47 +-
 nfs4.1/nfs4commoncode.py                    |  10 +-
 nfs4.1/nfs4lib.py                           |  62 ++-
 nfs4.1/nfs4server.py                        | 163 +++---
 nfs4.1/nfs4state.py                         |  15 +-
 nfs4.1/nfs_ops.py                           |  89 +++
 nfs4.1/server41tests/environment.py         |   4 +-
 nfs4.1/server41tests/st_block.py            |   4 +-
 nfs4.1/server41tests/st_compound.py         |   4 +-
 nfs4.1/server41tests/st_create_session.py   |   4 +-
 nfs4.1/server41tests/st_current_stateid.py  |   8 +-
 nfs4.1/server41tests/st_debug.py            |   4 +-
 nfs4.1/server41tests/st_delegation.py       |   4 +-
 nfs4.1/server41tests/st_destroy_clientid.py |   2 +-
 nfs4.1/server41tests/st_destroy_session.py  |   4 +-
 nfs4.1/server41tests/st_exchange_id.py      |   4 +-
 nfs4.1/server41tests/st_getdevicelist.py    |   4 +-
 nfs4.1/server41tests/st_lookup.py           |   2 +-
 nfs4.1/server41tests/st_lookupp.py          |   2 +-
 nfs4.1/server41tests/st_open.py             |   8 +-
 nfs4.1/server41tests/st_putfh.py            |   2 +-
 nfs4.1/server41tests/st_reboot.py           |   4 +-
 nfs4.1/server41tests/st_reclaim_complete.py |   2 +-
 nfs4.1/server41tests/st_rename.py           |   4 +-
 nfs4.1/server41tests/st_secinfo.py          |   4 +-
 nfs4.1/server41tests/st_secinfo_no_name.py  |   4 +-
 nfs4.1/server41tests/st_sequence.py         |   4 +-
 nfs4.1/server41tests/st_trunking.py         |   4 +-
 nfs4.1/server41tests/st_verify.py           |   2 +-
 nfs4.1/server_exports.py                    |   7 +-
 nfs4.1/setup.py                             |  33 +-
 nfs4.1/testclient.py                        |   2 +-
 nfs4.1/testserver.py                        |   2 +-
 nfs4.1/xdrdef/__init__.py                   |   0
 nfs4.1/xdrdef/mnt3.x                        |  68 +++
 nfs4.1/xdrdef/nfs3.x                        | 818 ++++++++++++++++++++++++++++
 nfs4.1/{ => xdrdef}/nfs4.x                  |   0
 nfs4.1/{ => xdrdef}/nfs4.x.diff             |   0
 nfs4.1/{ => xdrdef}/pnfs_block.x            |   0
 nfs4.1/xdrdef/portmap.x                     |  51 ++
 nfs4.1/{ => xdrdef}/sctrl.x                 |   0
 rpc/rpc.py                                  |  26 +-
 49 files changed, 1704 insertions(+), 389 deletions(-)
 create mode 100644 nfs4.1/nfs3client.py
 delete mode 100644 nfs4.1/nfs4_ops.py
 create mode 100644 nfs4.1/nfs_ops.py
 create mode 100644 nfs4.1/xdrdef/__init__.py
 create mode 100644 nfs4.1/xdrdef/mnt3.x
 create mode 100644 nfs4.1/xdrdef/nfs3.x
 rename nfs4.1/{ => xdrdef}/nfs4.x (100%)
 rename nfs4.1/{ => xdrdef}/nfs4.x.diff (100%)
 rename nfs4.1/{ => xdrdef}/pnfs_block.x (100%)
 create mode 100644 nfs4.1/xdrdef/portmap.x
 rename nfs4.1/{ => xdrdef}/sctrl.x (100%)

-- 
1.8.5.2 (Apple Git-48)


             reply	other threads:[~2014-06-05 13:55 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-05 13:55 Weston Andros Adamson [this message]
2014-06-05 13:55 ` [PATCH pynfs v2 01/16] dataserver: reclaim_complete after create_session Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 02/16] dataserver: only catch connection error Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 03/16] 4.1 server: avoid traceback in DS disconnect() Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 04/16] move .x files to subdir 'xdrdef' Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 05/16] 4.1 client: remove unused imports Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 06/16] 4.1 server: add -v flag & silence random output Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 07/16] 4.1 server: add -s option to print summary of ops Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 08/16] dataserver: make generic interface to ops Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 09/16] dataserver: don't import * from nfs4 specific mods Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 10/16] 4.1 server: move nfs4_ops.py to nfs_ops.py Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 11/16] add mntv3, portmapv2 and nfsv3 .x files Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 12/16] dataserver: separate generic and 4.1 code Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 13/16] 4.1 server: add support for NFSv3 data servers Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 14/16] 4.1 server: get rid of old op_getdeviceinfo Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 15/16] rpc: on socket error, close and mark pipe inactive Weston Andros Adamson
2014-06-05 13:55 ` [PATCH pynfs v2 16/16] nfs3clnt: reconnect when sending on inactive pipe Weston Andros Adamson
2014-06-05 14:19 ` [PATCH pynfs v2 00/16] prep for flex file layout server J. Bruce Fields
2014-06-05 14:22   ` Weston Andros Adamson
2014-06-05 14:24     ` J. Bruce Fields
2014-06-09 21:25 ` J. Bruce Fields
2014-06-10  1:41   ` Weston Andros Adamson

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=1401976544-36374-1-git-send-email-dros@primarydata.com \
    --to=dros@primarydata.com \
    --cc=bfields@fieldses.org \
    --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).