All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] Please pull NFS client changes for 3.20
@ 2015-02-11 15:42 Trond Myklebust
  0 siblings, 0 replies; only message in thread
From: Trond Myklebust @ 2015-02-11 15:42 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Linux NFS Mailing List, Linux Kernel Mailing List, Jens Axboe,
	Stephen Rothwell


[-- Attachment #1.1: Type: text/plain, Size: 13176 bytes --]

Hi Linus,

The following changes since commit 2ef47eb1aee171ecf1d83311b9f7fae80f330181:

  NFS: Fix use of nfs_attr_use_mounted_on_fileid() (2015-01-21 17:15:41 -0500)

are available in the git repository at:

  git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-3.20-1

for you to fetch changes up to c627d31ba0696cbd829437af2be2f2dee3546b1e:

  SUNRPC: Cleanup to remove xs_tcp_close() (2015-02-10 11:06:04 -0500)


Please note that there is a known conflict with Jens' block tree in one
of the new files that are added as part of the flexfiles support. I've
attached a patch from Stephen that fixes this conflict up.

Cheers
  Trond

----------------------------------------------------------------
NFS client updates for Linux 3.20

Highlights incluse:

Features:
- Removing the forced serialisation of open()/close() calls in NFSv4.x (x>0)
  makes for a significant performance improvement in metadata intensive
  workloads.
- Full support for the pNFS "flexible files" layout type
- Further RPC/RDMA client improvements from Chuck

Bugfixes:
- Stable fix: NFSv4.1 backchannel calls blocking operations with !TASK_RUNNING
- Stable fix: pnfs_generic_pg_init_read/write can be called with lseg == NULL
- Stable fix: Fix an Oopsable condition when nsm_mon_unmon is called as part
  of the namespace cleanup,
- Stable fix: Ensure we reference the inode for return-on-close in delegreturn

- Use SO_REUSEPORT to ensure that NFSv3 TCP connections can rebind to the
  same source address/port combination during a disconnect/reconnect event.
  This is a requirement imposed by most NFSv3 server duplicate reply cache
  implementations.

Optimisations:
- Ask for no NFSv4.1 delegations on OPEN if using O_DIRECT

Other:
- Add Anna Schumaker as co-maintainer for the NFS client

----------------------------------------------------------------
Chuck Lever (22):
      xprtrdma: human-readable completion status
      xprtrdma: Modernize htonl and ntohl
      xprtrdma: Display XIDs in host byte order
      xprtrdma: Clean up hdrlen
      xprtrdma: Rename "xprt" and "rdma_connect" fields in struct rpcrdma_xprt
      xprtrdma: Remove rpcrdma_ep::rep_ia
      xprtrdma: Remove rl_mr field, and the mr_chunk union
      xprtrdma: Move credit update to RPC reply handler
      xprtrdma: Remove rpcrdma_ep::rep_func and ::rep_xprt
      xprtrdma: Free the pd if ib_query_qp() fails
      xprtrdma: Take struct ib_device_attr off the stack
      xprtrdma: Take struct ib_qp_attr and ib_qp_init_attr off the stack
      xprtrdma: Simplify synopsis of rpcrdma_buffer_create()
      xprtrdma: Refactor rpcrdma_buffer_create() and rpcrdma_buffer_destroy()
      xprtrdma: Add struct rpcrdma_regbuf and helpers
      xprtrdma: Allocate RPC send buffer separately from struct rpcrdma_req
      xprtrdma: Allocate RPC/RDMA send buffer separately from struct rpcrdma_req
      xprtrdma: Allocate RPC/RDMA receive buffer separately from struct rpcrdma_rep
      xprtrdma: Allocate zero pad separately from rpcrdma_buffer
      xprtrdma: Clean up after adding regbuf management
      xprtrdma: Update the GFP flags used in xprt_rdma_allocate()
      xprtrdma: Address sparse complaint in rpcr_to_rdmar()

Dan Carpenter (2):
      NFS: a couple off by ones
      pnfs: delete an unintended goto

Jeff Layton (1):
      nfs: don't call blocking operations while !TASK_RUNNING

Omar Sandoval (1):
      nfs: prevent truncate on active swapfile

Peng Tao (37):
      nfs41: pull data server cache from file layout to generic pnfs
      nfs41: pull decode_ds_addr from file layout to generic pnfs
      nfs41: pull nfs4_ds_connect from file layout to generic pnfs
      nfs41: allow LD to choose DS connection auth flavor
      nfs41: move file layout macros to generic pnfs
      nfsv3: introduce nfs3_set_ds_client
      nfs41: allow LD to choose DS connection version/minor_version
      nfs41: create NFSv3 DS connection if specified
      nfs: allow different protocol in nfs_initiate_commit
      nfs4: pass slot table to nfs40_setup_sequence
      nfs4: export nfs4_sequence_done
      nfs: allow to specify cred in nfs_initiate_pgio
      nfs: set hostname when creating nfsv3 ds connection
      nfs/flexclient: export pnfs_layoutcommit_inode
      nfs41: close a small race window when adding new layout to global list
      nfs41: serialize first layoutget of a file
      nfs: save server READ/WRITE/COMMIT status
      nfs41: pass iomode through layoutreturn args
      nfs41: make a helper function to send layoutreturn
      nfs41: add a helper to mark layout for return
      nfs41: don't use a layout if it is marked for returning
      nfs41: send layoutreturn in last put_lseg
      nfs41: clear NFS_LAYOUT_RETURN if layoutreturn is sent or failed to send
      nfs/filelayout: use pnfs_error_mark_layout_for_return
      nfs41: add a debug warning if we destroy an unempty layout
      nfs: only reset desc->pg_mirror_idx when mirroring is supported
      nfs: add nfs_pgio_current_mirror helper
      pnfs: allow LD to ask to resend read through pnfs
      nfs41: add range to layoutreturn args
      nfs41: allow async version layoutreturn
      nfs41: introduce NFS_LAYOUT_RETURN_BEFORE_CLOSE
      nfs/flexfiles: send layoutreturn before freeing lseg
      nfs41: add NFS_LAYOUT_RETRY_LAYOUTGET to layout header flags
      nfs: add a helper to set NFS_ODIRECT_RESCHED_WRITES to direct writes
      nfs41: wait for LAYOUTRETURN before retrying LAYOUTGET
      nfs: count DIO good bytes correctly with mirroring
      nfs41: .init_read and .init_write can be called with valid pg_lseg

Tom Haynes (6):
      pnfs: Prepare for flexfiles by pulling out common code
      pnfs: Do not grab the commit_info lock twice when rescheduling writes
      pnfs: Add nfs_rpc_ops in calls to nfs_initiate_pgio
      pnfs/flexfiles: Add the FlexFile Layout Driver
      pnfs: Update documentation on the Layout Drivers
      pnfs/flexfiles: Do not dprintk after the free

Trond Myklebust (43):
      NFSv4: Fix an atomicity problem in CLOSE
      NFSv4: More CLOSE/OPEN races
      NFSv4: Convert nfs_alloc_seqid() to return an ERR_PTR() if allocation fails
      NFSv4: Check for NULL argument in nfs_*_seqid() functions
      NFSv4.1: Allow parallel OPEN/OPEN_DOWNGRADE/CLOSE
      NFSv4: Fix atomicity problems with lock stateid updates
      NFSv4: Always do open_to_lock_owner if the lock stateid is uninitialised
      NFSv4: Fix lock on-wire reordering issues
      NFSv4: Update of VFS byte range lock must be atomic with the stateid update
      NFSv4.1: Allow parallel LOCK/LOCKU calls
      NFSv4.1: Optimise layout return-on-close
      SUNRPC: Adjust rpciod workqueue parameters
      SUNRPC: Allow waiting on memory allocation
      NFSv4.1: Replace usage of nfs_client->cl_addr in encode_create_session
      NFSv4: Deal with atomic upgrades of an existing delegation
      Merge tag 'nfs-rdma-for-3.20' of git://git.linux-nfs.org/projects/anna/nfs-rdma
      NFSv4.1/NFSv3: Add pNFS callbacks for nfs3_(read|write|commit)_done()
      Merge branch 'flexfiles'
      SUNRPC: NULL utsname dereference on NFS umount during namespace cleanup
      NFS: Add Anna Schumaker as co-maintainer for the NFS client
      NFSv4.1: Ask for no delegation on OPEN if using O_DIRECT
      NFSv4: Ensure we reference the inode for return-on-close in delegreturn
      NFSv4.1: Pin the inode and super block in asynchronous layoutcommit
      NFSv4.1: Pin the inode and super block in asynchronous layoutreturns
      NFSv4.1: pnfs_send_layoutreturn should use GFP_NOFS
      NFSv4.1: Fix pnfs_put_lseg races
      Merge tag 'nfs-rdma-for-3.20-part-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma
      SUNRPC: Set SO_REUSEPORT socket option for TCP connections
      SUNRPC: Handle EADDRINUSE on connect
      SUNRPC: Do not clear the source port in xs_reset_transport
      SUNRPC: Ensure xs_reset_transport() resets the close connection flags
      SUNRPC: Add helpers to prevent socket create from racing
      SUNRPC: TCP/UDP always close the old socket before reconnecting
      SUNRPC: Remove TCP client connection reset hack
      SUNRPC: Remove TCP socket linger code
      SUNRPC: Cleanup to remove remaining uses of XPRT_CONNECTION_ABORT
      SUNRPC: Ensure xs_tcp_shutdown() requests a full close of the connection
      SUNRPC: Make xs_tcp_close() do a socket shutdown rather than a sock_release
      SUNRPC: Remove the redundant XPRT_CONNECTION_CLOSE flag
      SUNRPC: Handle connection reset more efficiently.
      SUNRPC: Define xs_tcp_fin_timeout only if CONFIG_SUNRPC_DEBUG
      SUNRPC: Fix stupid typo in xs_sock_set_reuseport
      SUNRPC: Cleanup to remove xs_tcp_close()

Weston Andros Adamson (10):
      sunrpc: add rpc_count_iostats_idx
      nfs: introduce pg_cleanup op for pgio descriptors
      pnfs: release lseg in pnfs_generic_pg_cleanup
      nfs: handle overlapping reqs in lock_and_join
      nfs: rename pgio header ds_idx to ds_commit_idx
      pnfs: pass ds_commit_idx through the commit path
      nfs: add mirroring support to pgio layer
      nfs: mirroring support for direct io
      pnfs: fail comparison when bucket verifier not set
      pnfs: lookup new lseg at lseg boundary

 Documentation/filesystems/nfs/pnfs.txt    |   13 +-
 MAINTAINERS                               |    1 +
 fs/lockd/mon.c                            |   13 +-
 fs/nfs/Kconfig                            |    5 +
 fs/nfs/Makefile                           |    3 +-
 fs/nfs/blocklayout/blocklayout.c          |    2 +
 fs/nfs/callback.c                         |    8 +-
 fs/nfs/delegation.c                       |   20 +-
 fs/nfs/direct.c                           |  112 +-
 fs/nfs/filelayout/filelayout.c            |  315 +-----
 fs/nfs/filelayout/filelayout.h            |   40 -
 fs/nfs/filelayout/filelayoutdev.c         |  469 +--------
 fs/nfs/flexfilelayout/Makefile            |    5 +
 fs/nfs/flexfilelayout/flexfilelayout.c    | 1574 +++++++++++++++++++++++++++++
 fs/nfs/flexfilelayout/flexfilelayout.h    |  155 +++
 fs/nfs/flexfilelayout/flexfilelayoutdev.c |  552 ++++++++++
 fs/nfs/idmap.c                            |    3 +-
 fs/nfs/inode.c                            |    7 +-
 fs/nfs/internal.h                         |   53 +-
 fs/nfs/nfs2xdr.c                          |   10 +-
 fs/nfs/nfs3_fs.h                          |    2 +
 fs/nfs/nfs3client.c                       |   41 +
 fs/nfs/nfs3proc.c                         |    9 +
 fs/nfs/nfs3super.c                        |    2 +-
 fs/nfs/nfs3xdr.c                          |    3 +
 fs/nfs/nfs4_fs.h                          |    9 +
 fs/nfs/nfs4client.c                       |    7 +-
 fs/nfs/nfs4proc.c                         |  315 +++---
 fs/nfs/nfs4state.c                        |   31 +-
 fs/nfs/nfs4super.c                        |    3 +
 fs/nfs/nfs4xdr.c                          |  113 ++-
 fs/nfs/nfsroot.c                          |    4 +-
 fs/nfs/objlayout/objio_osd.c              |    5 +-
 fs/nfs/pagelist.c                         |  294 +++++-
 fs/nfs/pnfs.c                             |  471 +++++++--
 fs/nfs/pnfs.h                             |  135 ++-
 fs/nfs/pnfs_nfs.c                         |  840 +++++++++++++++
 fs/nfs/read.c                             |   33 +-
 fs/nfs/super.c                            |    9 +-
 fs/nfs/write.c                            |   52 +-
 include/linux/nfs4.h                      |    1 +
 include/linux/nfs_fs_sb.h                 |    9 +-
 include/linux/nfs_idmap.h                 |    2 +
 include/linux/nfs_page.h                  |   22 +-
 include/linux/nfs_xdr.h                   |   19 +-
 include/linux/sunrpc/clnt.h               |    3 +-
 include/linux/sunrpc/metrics.h            |    4 +
 include/linux/sunrpc/rpc_rdma.h           |   14 +-
 include/linux/sunrpc/svc_rdma.h           |    2 -
 include/linux/sunrpc/xprt.h               |    6 +-
 net/sunrpc/clnt.c                         |   15 +-
 net/sunrpc/rpcb_clnt.c                    |    8 +-
 net/sunrpc/sched.c                        |    7 +-
 net/sunrpc/stats.c                        |   26 +-
 net/sunrpc/xprt.c                         |   38 +-
 net/sunrpc/xprtrdma/rpc_rdma.c            |  108 +-
 net/sunrpc/xprtrdma/transport.c           |  182 ++--
 net/sunrpc/xprtrdma/verbs.c               |  411 +++++---
 net/sunrpc/xprtrdma/xprt_rdma.h           |  112 +-
 net/sunrpc/xprtsock.c                     |  238 ++---
 60 files changed, 5236 insertions(+), 1729 deletions(-)
 create mode 100644 fs/nfs/flexfilelayout/Makefile
 create mode 100644 fs/nfs/flexfilelayout/flexfilelayout.c
 create mode 100644 fs/nfs/flexfilelayout/flexfilelayout.h
 create mode 100644 fs/nfs/flexfilelayout/flexfilelayoutdev.c
 create mode 100644 fs/nfs/pnfs_nfs.c

-- 
Trond Myklebust
Linux NFS client maintainer, PrimaryData
trond.myklebust@primarydata.com




[-- Attachment #1.2: Forwarded message - linux-next: build failure after merge of the block tree --]
[-- Type: message/rfc822, Size: 5715 bytes --]

[-- Attachment #1.2.1.1: Type: text/plain, Size: 1842 bytes --]

Hi Jens,

After merging the block tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

fs/nfs/flexfilelayout/flexfilelayout.c: In function 'ff_layout_mark_request_commit':
fs/nfs/flexfilelayout/flexfilelayout.c:1369:47: error: 'struct address_space' has no member named 'backing_dev_info'
   inc_bdi_stat(page_file_mapping(req->wb_page)->backing_dev_info,
                                               ^

Caused by commit b83ae6d42143 ("fs: remove mapping->backing_dev_info")
interacting with commit d67ae825a59d ("pnfs/flexfiles: Add the FlexFile
Layout Driver") from the nfs tree.

I have added this merge fix patch (assuming it is correct, someone
needs to tell Linus about this when the trees get merged):

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Mon, 9 Feb 2015 15:20:12 +1100
Subject: [PATCH] pnfs/flexfiles: fix FlexFile Layout Driver for removal
 mapping->backing_dev_info

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
 fs/nfs/flexfilelayout/flexfilelayout.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nfs/flexfilelayout/flexfilelayout.c b/fs/nfs/flexfilelayout/flexfilelayout.c
index f29fb7d7e8f8..c22ecaa86c1c 100644
--- a/fs/nfs/flexfilelayout/flexfilelayout.c
+++ b/fs/nfs/flexfilelayout/flexfilelayout.c
@@ -1366,7 +1366,7 @@ ff_layout_mark_request_commit(struct nfs_page *req,
 	spin_unlock(cinfo->lock);
 	if (!cinfo->dreq) {
 		inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS);
-		inc_bdi_stat(page_file_mapping(req->wb_page)->backing_dev_info,
+		inc_bdi_stat(inode_to_bdi(page_file_mapping(req->wb_page)->host),
 			     BDI_RECLAIMABLE);
 		__mark_inode_dirty(req->wb_context->dentry->d_inode,
 				   I_DIRTY_DATASYNC);
-- 
2.1.4

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au

[-- Attachment #1.2.1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-02-11 15:43 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-11 15:42 [GIT PULL] Please pull NFS client changes for 3.20 Trond Myklebust

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.