LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [GIT PULL] afs: Miscellaneous fixes
@ 2019-05-16 23:00 David Howells
  2019-05-17  0:08 ` Linus Torvalds
  2019-05-17  0:25 ` pr-tracker-bot
  0 siblings, 2 replies; 10+ messages in thread
From: David Howells @ 2019-05-16 23:00 UTC (permalink / raw)
  To: torvalds
  Cc: Marc Dionne, Jonathan Billings, Peter Zijlstra, Joe Perches,
	Colin Ian King, dhowells, linux-afs, linux-kernel

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(-)


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2019-05-16 23:00 [GIT PULL] afs: Miscellaneous fixes David Howells
@ 2019-05-17  0:08 ` Linus Torvalds
  2019-05-17  0:25 ` pr-tracker-bot
  1 sibling, 0 replies; 10+ messages in thread
From: Linus Torvalds @ 2019-05-17  0:08 UTC (permalink / raw)
  To: David Howells
  Cc: Marc Dionne, Jonathan Billings, Peter Zijlstra, Joe Perches,
	Colin Ian King, linux-afs, Linux List Kernel Mailing

On Thu, May 16, 2019 at 4:00 PM David Howells <dhowells@redhat.com> wrote:
>
> Could you pull this series please?

I've pulled this, but I'm seriously considering just stopping pulling
from you entirely.

Not only is this late in the merge window, EVERY SINGLE commit I
pulled from you is from within a day or two.

And this is not a new thing. I literally dread stuff from you. Because
it's happened before, and it keeps happening. Out-of-window changes to
the keys layer etc etc.

Why does this keep happening?

                Linus

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2019-05-16 23:00 [GIT PULL] afs: Miscellaneous fixes David Howells
  2019-05-17  0:08 ` Linus Torvalds
@ 2019-05-17  0:25 ` pr-tracker-bot
  1 sibling, 0 replies; 10+ messages in thread
From: pr-tracker-bot @ 2019-05-17  0:25 UTC (permalink / raw)
  To: David Howells
  Cc: torvalds, Marc Dionne, Jonathan Billings, Peter Zijlstra,
	Joe Perches, Colin Ian King, dhowells, linux-afs, linux-kernel

The pull request you sent on Fri, 17 May 2019 00:00:21 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20190516

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/fefb2483dc10c736e4235984fed4f3a61c99e1c2

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2021-07-21 14:22 David Howells
@ 2021-07-21 19:47 ` pr-tracker-bot
  0 siblings, 0 replies; 10+ messages in thread
From: pr-tracker-bot @ 2021-07-21 19:47 UTC (permalink / raw)
  To: David Howells
  Cc: torvalds, dhowells, linux-afs, Steven Rostedt (VMware),
	Tom Rix, Marc Dionne, Alexey Dobriyan (SK hynix),
	Jiapeng Chong, Abaci Robot, Andrew Morton, linux-fsdevel,
	linux-kernel

The pull request you sent on Wed, 21 Jul 2021 15:22:06 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20210721

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b4e62aaf95e8a340f3a6e0e2fc9a649f875034b3

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [GIT PULL] afs: Miscellaneous fixes
@ 2021-07-21 14:22 David Howells
  2021-07-21 19:47 ` pr-tracker-bot
  0 siblings, 1 reply; 10+ messages in thread
From: David Howells @ 2021-07-21 14:22 UTC (permalink / raw)
  To: torvalds
  Cc: dhowells, linux-afs, Steven Rostedt (VMware),
	Tom Rix, Marc Dionne, Alexey Dobriyan (SK hynix),
	Jiapeng Chong, Abaci Robot, Andrew Morton, linux-fsdevel,
	linux-kernel

Hi Linus,

Can you pull these miscellaneous fixes for afs please?

 (1) Fix a tracepoint that causes one of the tracing subsystem query files
     to crash if the module is loaded[1].

 (2) Fix afs_writepages() to take account of whether the storage rpc
     actually succeeded when updating the cyclic writeback counter[2].

 (3) Fix some error code propagation/handling[3].

 (4) Fix place where afs_writepages() was setting writeback_index to a file
     position rather than a page index[4].

Changes
=======

ver #2:
   - Fix an additional case of afs_writepages() setting writeback_index on
     error[4].
   - Fix afs_writepages() setting writeback_index to a file pos[4].

Thanks,
David

Link: https://lore.kernel.org/r/162430903582.2896199.6098150063997983353.stgit@warthog.procyon.org.uk/ [1]
Link: https://lore.kernel.org/r/20210430155031.3287870-1-trix@redhat.com [2]
Link: https://lore.kernel.org/r/1619691492-83866-1-git-send-email-jiapeng.chong@linux.alibaba.com [3]
Link: https://lore.kernel.org/r/CAB9dFdvHsLsw7CMnB+4cgciWDSqVjuij4mH3TaXnHQB8sz5rHw@mail.gmail.com/ [4]
Link: https://lore.kernel.org/r/162609463116.3133237.11899334298425929820.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/162610726011.3408253.2771348573083023654.stgit@warthog.procyon.org.uk/ # v2

---
The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3:

  Linux 5.14-rc1 (2021-07-11 15:07:40 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20210721

for you to fetch changes up to b428081282f85db8a0d4ae6206a8c39db9c8341b:

  afs: Remove redundant assignment to ret (2021-07-21 15:11:22 +0100)

----------------------------------------------------------------
AFS fixes

----------------------------------------------------------------
David Howells (2):
      afs: Fix tracepoint string placement with built-in AFS
      afs: Fix setting of writeback_index

Jiapeng Chong (1):
      afs: Remove redundant assignment to ret

Tom Rix (1):
      afs: check function return

 fs/afs/cmservice.c         | 25 +++++------------
 fs/afs/dir.c               | 10 ++++---
 fs/afs/write.c             | 18 ++++++++-----
 include/trace/events/afs.h | 67 ++++++++++++++++++++++++++++++++++++++++++----
 4 files changed, 87 insertions(+), 33 deletions(-)


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2020-04-24 16:12 David Howells
  2020-04-24 17:35 ` Linus Torvalds
@ 2020-04-24 18:40 ` pr-tracker-bot
  1 sibling, 0 replies; 10+ messages in thread
From: pr-tracker-bot @ 2020-04-24 18:40 UTC (permalink / raw)
  To: David Howells; +Cc: torvalds, dhowells, linux-afs, linux-fsdevel, linux-kernel

The pull request you sent on Fri, 24 Apr 2020 17:12:22 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20200424

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/9a195628522c08f36b3bbd0df96582a07ab272bf

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2020-04-24 16:12 David Howells
@ 2020-04-24 17:35 ` Linus Torvalds
  2020-04-24 18:40 ` pr-tracker-bot
  1 sibling, 0 replies; 10+ messages in thread
From: Linus Torvalds @ 2020-04-24 17:35 UTC (permalink / raw)
  To: David Howells; +Cc: linux-afs, linux-fsdevel, Linux Kernel Mailing List

On Fri, Apr 24, 2020 at 9:12 AM David Howells <dhowells@redhat.com> wrote:
>
>  (3) Make a couple of waits uninterruptible if they're done for an
>      operation that isn't supposed to be interruptible.

Should they not even be killable?

Anyway, pulled.

             Linus

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [GIT PULL] afs: Miscellaneous fixes
@ 2020-04-24 16:12 David Howells
  2020-04-24 17:35 ` Linus Torvalds
  2020-04-24 18:40 ` pr-tracker-bot
  0 siblings, 2 replies; 10+ messages in thread
From: David Howells @ 2020-04-24 16:12 UTC (permalink / raw)
  To: torvalds; +Cc: dhowells, linux-afs, linux-fsdevel, linux-kernel

Hi Linus,

Could you pull these three miscellaneous fixes to the afs filesystem:

 (1) Remove some struct members that aren't used, aren't set or aren't
     read, plus a wake up that nothing ever waits for.

 (2) Actually set the AFS_SERVER_FL_HAVE_EPOCH flag so that the code that
     depends on it can work.

 (3) Make a couple of waits uninterruptible if they're done for an
     operation that isn't supposed to be interruptible.

Thanks,
David
---
The following changes since commit ae83d0b416db002fe95601e7f97f64b59514d936:

  Linux 5.7-rc2 (2020-04-19 14:35:30 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20200424

for you to fetch changes up to c4bfda16d1b40d1c5941c61b5aa336bdd2d9904a:

  afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate (2020-04-24 16:33:32 +0100)

----------------------------------------------------------------
AFS miscellany

----------------------------------------------------------------
David Howells (3):
      afs: Remove some unused bits
      afs: Fix to actually set AFS_SERVER_FL_HAVE_EPOCH
      afs: Make record checking use TASK_UNINTERRUPTIBLE when appropriate

 fs/afs/cmservice.c | 2 +-
 fs/afs/fs_probe.c  | 5 +----
 fs/afs/internal.h  | 4 +---
 fs/afs/rotate.c    | 6 +++---
 fs/afs/server.c    | 7 ++-----
 fs/afs/vl_rotate.c | 4 ++--
 fs/afs/volume.c    | 8 +++++---
 7 files changed, 15 insertions(+), 21 deletions(-)


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [GIT PULL] afs: Miscellaneous fixes
  2019-12-11 21:17 David Howells
@ 2019-12-12  2:50 ` pr-tracker-bot
  0 siblings, 0 replies; 10+ messages in thread
From: pr-tracker-bot @ 2019-12-12  2:50 UTC (permalink / raw)
  To: David Howells
  Cc: torvalds, dhowells, marc.dionne, jsbillings, linux-afs,
	linux-fsdevel, linux-kernel

The pull request you sent on Wed, 11 Dec 2019 21:17:57 +0000:

> git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20191211

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ae4b064e2a616b545acf02b8f50cc513b32c7522

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [GIT PULL] afs: Miscellaneous fixes
@ 2019-12-11 21:17 David Howells
  2019-12-12  2:50 ` pr-tracker-bot
  0 siblings, 1 reply; 10+ messages in thread
From: David Howells @ 2019-12-11 21:17 UTC (permalink / raw)
  To: torvalds
  Cc: dhowells, marc.dionne, jsbillings, linux-afs, linux-fsdevel,
	linux-kernel

Hi Linus,

Can you pull these fixes for AFS plus one patch to make debugging easier:

 (1) Fix how addresses are matched to server records.  This is currently
     incorrect which means cache invalidation callbacks from the server
     don't necessarily get delivered correctly.  This causes stale data and
     metadata to be seen under some circumstances.

 (2) Make the dynamic root superblock R/W so that rpm/dnf can reapply the
     SELinux label to it when upgrading the Fedora filesystem-afs package.
     If the filesystem is R/O, this fails and the upgrade fails.

     It might be better in future to allow setxattr from an LSM to bypass
     the R/O protections, if only for pseudo-filesystems.

 (3) Fix the parsing of mountpoint strings.  The mountpoint object has to
     have a terminal dot, whereas the source/device string passed to mount
     should not.  This confuses type-forcing suffix detection leading to
     the wrong volume variant being mounted.

 (4) Make lookups in the dynamic root superblock for creation events (such
     as mkdir) fail with EOPNOTSUPP rather than something like EEXIST.  The
     dynamic root only allows implicit creation by the ->lookup() method -
     and only if the target cell exists.

 (5) Fix the looking up of an AFS superblock to include the cell in the
     matching key - otherwise all volumes with the same ID number are
     treated as the same thing, irrespective of which cell they're in.

 (6) Show the volume name of each volume in the volume records displayed in
     /proc/net/afs/<cell>/volumes.  This proved useful in debugging (5) as
     it provides a way to map the volume IDs to names, where the names are
     what appear in /proc/mounts.

Patch (6) can be dropped and deferred to the next merge window if you'd
prefer as it's not strictly a fix.

David
---
The following changes since commit e42617b825f8073569da76dc4510bfa019b1c35a:

  Linux 5.5-rc1 (2019-12-08 14:57:55 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20191211

for you to fetch changes up to 50559800b76a7a2a46da303100da639536261808:

  afs: Show volume name in /proc/net/afs/<cell>/volumes (2019-12-11 17:48:20 +0000)

----------------------------------------------------------------
AFS fixes

----------------------------------------------------------------
David Howells (5):
      afs: Fix SELinux setting security label on /afs
      afs: Fix mountpoint parsing
      afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP
      afs: Fix missing cell comparison in afs_test_super()
      afs: Show volume name in /proc/net/afs/<cell>/volumes

Marc Dionne (1):
      afs: Fix afs_find_server lookups for ipv4 peers

 fs/afs/dynroot.c |  3 +++
 fs/afs/mntpt.c   |  6 ++++--
 fs/afs/proc.c    |  7 ++++---
 fs/afs/server.c  | 21 ++++++++-------------
 fs/afs/super.c   |  2 +-
 5 files changed, 20 insertions(+), 19 deletions(-)


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-07-21 19:47 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-16 23:00 [GIT PULL] afs: Miscellaneous fixes David Howells
2019-05-17  0:08 ` Linus Torvalds
2019-05-17  0:25 ` pr-tracker-bot
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).