Return-Path: linux-nfs-owner@vger.kernel.org Received: from mail-ie0-f169.google.com ([209.85.223.169]:65376 "EHLO mail-ie0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751380AbaFENzs (ORCPT ); Thu, 5 Jun 2014 09:55:48 -0400 Received: by mail-ie0-f169.google.com with SMTP id rp18so916456iec.0 for ; Thu, 05 Jun 2014 06:55:48 -0700 (PDT) From: Weston Andros Adamson To: bfields@fieldses.org Cc: linux-nfs@vger.kernel.org, Weston Andros Adamson Subject: [PATCH pynfs v2 00/16] prep for flex file layout server Date: Thu, 5 Jun 2014 09:55:28 -0400 Message-Id: <1401976544-36374-1-git-send-email-dros@primarydata.com> Sender: linux-nfs-owner@vger.kernel.org List-ID: 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)