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>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 11 Nov 2021 16:25:52 +0000
From:   David Howells <dhowells@...hat.com>
To:     torvalds@...ux-foundation.org
Cc:     dhowells@...hat.com,
        "Matthew Wilcox (Oracle)" <willy@...radead.org>,
        Dominique Martinet <asmadeus@...ewreck.org>,
        Ilya Dryomov <idryomov@...il.com>,
        Jeff Layton <jlayton@...nel.org>,
        Marc Dionne <marc.dionne@...istor.com>,
        Jeffrey E Altman <jaltman@...istor.com>,
        v9fs-developer@...ts.sourceforge.net,
        linux-afs@...ts.infradead.org, linux-cachefs@...hat.com,
        ceph-devel@...r.kernel.org, linux-cifs@...r.kernel.org,
        linux-nfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
        linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: [GIT PULL] netfs, 9p, afs, ceph: Use folios

Hi Linus,

[Apologies for the late request, but I needed to wait for folios and 9p to
be pulled into your tree so that I could get rid of the temporary merge I
was using and then I had to wait for my branch to be retested before I
could send this your way - and then Willy changed his mind about how to
handle foliation of page_endio().]

Anyway, could you consider pulling this please?  It converts netfslib, 9p
and afs to use folios.  It also partially converts ceph so that it uses
folios on the boundaries with netfslib.

To help with this, a couple of folio helper functions are added in the
first two patches.  If you don't want to take the netfs/9p/afs/ceph bits,
could you at least consider taking the folio helpers?  Then they would be
available to others.

These patches don't touch fscache and cachefiles as I intend to remove all
the code that deals with pages directly from there.  Only nfs and cifs are
using the old fscache I/O API now.  The new API uses iov_iter instead.

Thanks to Jeff Layton, Dominique Martinet and AuriStor for testing and
retesting the patches.

Thanks,
David

Changes
=======
ver #5:
 - Got rid of the folio_endio bits again as Willy changed his mind and
   would rather I inlined the code directly instead.

ver #4:
 - Detached and sent the afs symlink split patch separately.
 - Handed the 9p netfslibisation patch off to Dominique Martinet.
 - Added a patch to foliate page_endio().
 - Fixed a bug in afs_redirty_page() whereby it didn't set the next page
   index in the loop and returned too early.
 - Simplified a check in v9fs_vfs_write_folio_locked()[4].
 - Undid a change to afs_symlink_readpage()[4].
 - Used offset_in_folio() in afs_write_end()[4].
 - Rebased on 9p-folio merge upstream[5].

ver #3:
 - Rebased on upstream as folios have been pulled.
 - Imported a patch to convert 9p to netfslib from my
   fscache-remove-old-api branch[3].
 - Foliated netfslib.

ver #2:
 - Reorder the patches to put both non-folio afs patches to the front.
 - Use page_offset() rather than manual calculation[1].
 - Fix folio_inode() to directly access the inode[2].

Link: https://lore.kernel.org/r/YST/0e92OdSH0zjg@casper.infradead.org/ [1]
Link: https://lore.kernel.org/r/YST8OcVNy02Rivbm@casper.infradead.org/ [2]
Link: https://lore.kernel.org/r/163551653404.1877519.12363794970541005441.stgit@warthog.procyon.org.uk/ [3]
Link: https://lore.kernel.org/r/YYKa3bfQZxK5/wDN@casper.infradead.org/ [4]
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f89ce84bc33330607a782e47a8b19406ed109b15 [5]
Link: https://lore.kernel.org/r/2408234.1628687271@warthog.procyon.org.uk/ # v0
Link: https://lore.kernel.org/r/162981147473.1901565.1455657509200944265.stgit@warthog.procyon.org.uk/ # v1
Link: https://lore.kernel.org/r/163005740700.2472992.12365214290752300378.stgit@warthog.procyon.org.uk/ # v2
Link: https://lore.kernel.org/r/163584174921.4023316.8927114426959755223.stgit@warthog.procyon.org.uk>/ # v3
Link: https://lore.kernel.org/r/163649323416.309189.4637503793406396694.stgit@warthog.procyon.org.uk/ # v4
Link: https://lore.kernel.org/r/163657847613.834781.7923681076643317435.stgit@warthog.procyon.org.uk/ # v5

---
The following changes since commit f89ce84bc33330607a782e47a8b19406ed109b15:

  Merge tag '9p-for-5.16-rc1' of git://github.com/martinetd/linux (2021-11-09 10:30:13 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/netfs-folio-20211111

for you to fetch changes up to 255ed63638da190e2485d32c0f696cd04d34fbc0:

  afs: Use folios in directory handling (2021-11-10 21:17:09 +0000)

----------------------------------------------------------------
netfs, 9p, afs and ceph (partial) foliation

----------------------------------------------------------------
David Howells (4):
      folio: Add a function to change the private data attached to a folio
      folio: Add a function to get the host inode for a folio
      netfs, 9p, afs, ceph: Use folios
      afs: Use folios in directory handling

 fs/9p/vfs_addr.c           |  83 ++++++-----
 fs/9p/vfs_file.c           |  20 +--
 fs/afs/dir.c               | 229 +++++++++++++-----------------
 fs/afs/dir_edit.c          | 154 ++++++++++----------
 fs/afs/file.c              |  70 +++++----
 fs/afs/internal.h          |  46 +++---
 fs/afs/write.c             | 347 ++++++++++++++++++++++-----------------------
 fs/ceph/addr.c             |  80 ++++++-----
 fs/netfs/read_helper.c     | 165 ++++++++++-----------
 include/linux/netfs.h      |  12 +-
 include/linux/pagemap.h    |  33 +++++
 include/trace/events/afs.h |  21 +--
 mm/page-writeback.c        |   2 +-
 13 files changed, 636 insertions(+), 626 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ