lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <1423669370.7169.7.camel@primarydata.com>
Date:	Wed, 11 Feb 2015 10:42:50 -0500
From:	Trond Myklebust <trond.myklebust@...marydata.com>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Linux NFS Mailing List <linux-nfs@...r.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Jens Axboe <axboe@...nel.dk>,
	Stephen Rothwell <sfr@...b.auug.org.au>
Subject: [GIT PULL] Please pull NFS client changes for 3.20

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@...marydata.com




Delivered-To: trondmy@...il.com
Received: by 10.107.39.135 with SMTP id n129csp1328777ion; Sun, 8 Feb 2015
 20:25:43 -0800 (PST)
X-Received: by 10.112.53.137 with SMTP id b9mr14522749lbp.66.1423455942142;
 Sun, 08 Feb 2015 20:25:42 -0800 (PST)
Return-Path: <sfr@...b.auug.org.au>
Received: from mail-forward4.uio.no (mail-forward4.uio.no.
 [2001:700:100:10::33]) by mx.google.com with ESMTPS id
 c7si7954950laa.63.2015.02.08.20.25.40 for <trondmy@...il.com>
 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 08
 Feb 2015 20:25:41 -0800 (PST)
Received-SPF: none (google.com: sfr@...b.auug.org.au does not designate
 permitted sender hosts) client-ip=2001:700:100:10::33;
Authentication-Results: mx.google.com; spf=none (google.com:
 sfr@...b.auug.org.au does not designate permitted sender hosts)
 smtp.mail=sfr@...b.auug.org.au
Received: from exim by mail-out4.uio.no with local-bsmtp (Exim 4.80.1)
 (envelope-from <sfr@...b.auug.org.au>) id 1YKfum-0007B4-7J for
 trondmy@...il.com; Mon, 09 Feb 2015 05:25:40 +0100
Received: from mail-mx2.uio.no ([129.240.10.30]) by mail-out4.uio.no with
 esmtp (Exim 4.80.1) (envelope-from <sfr@...b.auug.org.au>) id
 1YKfum-0007B0-69 for trondmy@...il.com; Mon, 09 Feb 2015 05:25:40 +0100
Received: from ozlabs.org ([103.22.144.67]) by mail-mx2.uio.no with esmtps
 (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.80) (envelope-from
 <sfr@...b.auug.org.au>) id 1YKful-0005sa-9T for trond.myklebust@....uio.no;
 Mon, 09 Feb 2015 05:25:40 +0100
Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using
 TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client
 certificate requested) by ozlabs.org (Postfix) with ESMTPSA id 9639114012E;
 Mon,  9 Feb 2015 15:25:31 +1100 (AEDT)
Date: Mon, 9 Feb 2015 15:25:26 +1100
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Jens Axboe <axboe@...nel.dk>, Trond Myklebust
 <trond.myklebust@....uio.no>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org, Tom Haynes
 <loghyr@...marydata.com>, Weston Andros Adamson <dros@...marydata.com>, Tao
 Peng <bergwolf@...marydata.com>, Christoph Hellwig <hch@....de>
Subject: linux-next: build failure after merge of the block tree
Message-ID: <20150209152526.1f2b749e@...b.auug.org.au>
X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; i586-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/lIBdJTDjWUmiS_SVG5o_Yc_"; protocol="application/pgp-signature"
X-UiO-Spam-info: not spam, SpamAssassin (score=-2.3, required=5.0,
 autolearn=disabled, RCVD_IN_DNSWL_MED=-2.3, uiobl=NO, uiouri=NO)
X-UiO-Scanned: 0674478C028215C185ECFEF09ACB7A7DC9B31E65
X-UiO-SPAM-Test: remote_host: 103.22.144.67 spam_score: -22 maxlevel 30
 minaction 1 bait 0 mail/h: 1 total 11 max/h 2 blacklist 0 greylist 1
 ratelimit 0

--Sig_/lIBdJTDjWUmiS_SVG5o_Yc_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

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_spac=
e' 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@...b.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@...b.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);
--=20
2.1.4

--=20
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

--Sig_/lIBdJTDjWUmiS_SVG5o_Yc_
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJU2Da7AAoJEMDTa8Ir7ZwVCOYP/2+vvkx3AQSxOvJKyaBxOn6L
jEKSVhKRa0Xf7lj3E5k4RYicqaffkiGBnqfIblsqC2TCboMpKf+0shh02/CWFz76
+7+wveZJ8DPn4hK5WhHTiJiV0FpYND/aANOE1Ho0WIFd5SAaINLqiHIt6AMeiv/Q
gW3aNx9rdBve0Y01Xyt9OklxarG9rNU/yPoQiCI3r/5XNi63Xk3hXx5OAbJozlD2
WD76hNpB6oU1YeBBTKzdroETNIsvgokCPiW9mN60qHUhDenXMhKo3VzFQVjCNZh0
GSbQ0Q1yDsuPz2lKFFwANq55K5T5KY3Q1C2lIgnqm7XE2A5CxNxrLCy5iiDJ8GTM
IXnRCRYbzMGngqSm3P86RZFYqzy96Q/V3xPnzO4vXDODBQqguuyU4ggqGMzf69dp
xNBmqKYDREOz8fAGOEQi7dzOhaCKS7A7db1panv9B3Yzq5uV2QaJtJVMxu+uDRAL
h/YUt4qu93UIGJLAE4MZbsn5/yUB1iWwU7Q2cPm34gWkZuJswxMu49+XFr4Qrvmj
daOSx25PeQYu8TJ3rvE1a6j/s+zPHtJcxXr9FuPCeCmTptzMw31M2lLJ3bneVLnY
JDUPr9JTPxnUO/WEBQOMvpUJBx3o7uBE6hTzD4wRgHllRKaNVxCiiPnonDZzqELQ
8XbL5rWGq3q0sQFkZmBo
=rU1b
-----END PGP SIGNATURE-----

--Sig_/lIBdJTDjWUmiS_SVG5o_Yc_--


Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ