From: David Howells <dhowells@redhat.com>
To: torvalds@linux-foundation.org
Cc: Marc Dionne <marc.dionne@auristor.com>,
Jonathan Billings <jsbillings@jsbillings.org>,
Peter Zijlstra <peterz@infradead.org>,
Joe Perches <joe@perches.com>,
Colin Ian King <colin.king@canonical.com>,
dhowells@redhat.com, linux-afs@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [GIT PULL] afs: Miscellaneous fixes
Date: Fri, 17 May 2019 00:00:21 +0100 [thread overview]
Message-ID: <14411.1558047621@warthog.procyon.org.uk> (raw)
Hi Linus,
Could you pull this series please? It fixes a set of miscellaneous issues
in the afs filesystem, including:
(1) Leak of keys on file close.
(2) Broken error handling in xattr functions.
(3) Missing locking when updating VL server list.
(4) Volume location server DNS lookup whereby preloaded cells may not ever
get a lookup and regular DNS lookups to maintain server lists consume
power unnecessarily.
(5) Incorrect error propagation and handling in the fileserver iteration
code causes operations to sometimes apparently succeed.
(6) Interruption of server record check/update side op during fileserver
iteration causes uninterruptible main operations to fail unexpectedly.
(7) Callback promise expiry time miscalculation.
(8) Over invalidation of the callback promise on directories.
(9) Double locking on callback break waking up file locking waiters.
(10) Double increment of the vnode callback break counter.
Note that it makes some changes outside of the afs code, including:
(A) Adding an extra parameter to dns_query() to allow the dns_resolver key
just accessed to be immediately invalidated. AFS is caching the
results itself, so the key can be discarded.
(B) Adding an interruptible version of wait_var_event().
(C) Adding an rxrpc function to allow the maximum lifespan to be set on a
call.
(D) Adding a way for an rxrpc call to be marked as non-interruptible.
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Marc Dionne <marc.dionne@auristor.com>
---
The following changes since commit 80f232121b69cc69a31ccb2b38c1665d770b0710:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next (2019-05-07 22:03:58 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20190516
for you to fetch changes up to fd711586bb7d63f257da5eff234e68c446ac35ea:
afs: Fix double inc of vnode->cb_break (2019-05-16 16:25:21 +0100)
----------------------------------------------------------------
AFS fixes
----------------------------------------------------------------
David Howells (19):
afs: Fix key leak in afs_release() and afs_evict_inode()
afs: Fix incorrect error handling in afs_xattr_get_acl()
afs: Fix afs_xattr_get_yfs() to not try freeing an error value
afs: Fix missing lock when replacing VL server list
afs: Fix afs_cell records to always have a VL server list record
dns_resolver: Allow used keys to be invalidated
Add wait_var_event_interruptible()
afs: Fix cell DNS lookup
afs: Fix "kAFS: AFS vnode with undefined type 0"
rxrpc: Provide kernel interface to set max lifespan on a call
afs: Fix the maximum lifespan of VL and probe calls
afs: Fix error propagation from server record check/update
rxrpc: Allow the kernel to mark a call as being non-interruptible
afs: Make some RPC operations non-interruptible
afs: Make dynamic root population wait uninterruptibly for proc_cells_lock
afs: Fix calculation of callback expiry time
afs: Don't invalidate callback if AFS_VNODE_DIR_VALID not set
afs: Fix lock-wait/callback-break double locking
afs: Fix double inc of vnode->cb_break
Documentation/networking/rxrpc.txt | 21 ++++-
fs/afs/addr_list.c | 2 +-
fs/afs/afs.h | 3 +
fs/afs/callback.c | 8 +-
fs/afs/cell.c | 187 ++++++++++++++++++++++---------------
fs/afs/dir.c | 18 ++--
fs/afs/dir_silly.c | 4 +-
fs/afs/dynroot.c | 5 +-
fs/afs/file.c | 9 +-
fs/afs/flock.c | 9 +-
fs/afs/fsclient.c | 77 +++++++++------
fs/afs/inode.c | 12 +--
fs/afs/internal.h | 22 +++--
fs/afs/proc.c | 8 +-
fs/afs/rotate.c | 29 ++++--
fs/afs/rxrpc.c | 7 +-
fs/afs/security.c | 4 +-
fs/afs/server.c | 17 +++-
fs/afs/super.c | 2 +-
fs/afs/vl_list.c | 20 ++--
fs/afs/vl_rotate.c | 28 +++++-
fs/afs/vlclient.c | 4 +
fs/afs/write.c | 2 +-
fs/afs/xattr.c | 103 ++++++++++----------
fs/afs/yfsclient.c | 98 +++++++++----------
fs/cifs/dns_resolve.c | 2 +-
fs/nfs/dns_resolve.c | 2 +-
include/linux/dns_resolver.h | 3 +-
include/linux/wait_bit.h | 13 +++
include/net/af_rxrpc.h | 3 +
net/ceph/messenger.c | 2 +-
net/dns_resolver/dns_query.c | 6 +-
net/rxrpc/af_rxrpc.c | 28 ++++++
net/rxrpc/ar-internal.h | 2 +
net/rxrpc/call_object.c | 2 +
net/rxrpc/conn_client.c | 8 +-
net/rxrpc/sendmsg.c | 4 +-
37 files changed, 478 insertions(+), 296 deletions(-)
next reply other threads:[~2019-05-16 23:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-16 23:00 David Howells [this message]
2019-05-17 0:08 ` [GIT PULL] afs: Miscellaneous fixes Linus Torvalds
2019-05-17 0:25 ` pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
2019-12-11 21:17 David Howells
2019-12-12 2:50 ` pr-tracker-bot
2020-04-24 16:12 David Howells
2020-04-24 17:35 ` Linus Torvalds
2020-04-24 18:40 ` pr-tracker-bot
2021-07-21 14:22 David Howells
2021-07-21 19:47 ` pr-tracker-bot
2023-11-24 15:52 David Howells
2023-11-24 18:39 ` Linus Torvalds
2023-11-24 18:54 ` pr-tracker-bot
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=14411.1558047621@warthog.procyon.org.uk \
--to=dhowells@redhat.com \
--cc=colin.king@canonical.com \
--cc=joe@perches.com \
--cc=jsbillings@jsbillings.org \
--cc=linux-afs@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.dionne@auristor.com \
--cc=peterz@infradead.org \
--cc=torvalds@linux-foundation.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