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)
next 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.