linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Chuck Lever <cel@kernel.org>
To: viro@zeniv.linux.org.uk, brauner@kernel.org, hughd@google.com,
	akpm@linux-foundation.org
Cc: Christoph Hellwig <hch@lst.de>, Jeff Layton <jlayton@kernel.org>,
	Chuck Lever <chuck.lever@oracle.com>,
	jlayton@redhat.com, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org
Subject: [PATCH v5 0/3] shmemfs stable directory offsets
Date: Tue, 27 Jun 2023 16:53:02 -0400	[thread overview]
Message-ID: <168789864000.157531.11122232592994999253.stgit@manet.1015granger.net> (raw)

The following series implements stable directory offsets for
shmemfs/tmpfs and provides infrastructure for use by other file
systems that are based on simplefs.

I've moved the rename-exchange logic to fs/libfs.c, since that is
something that other filesystems will need and is difficult to get
right. I've tried again to address error handling for that type of
rename. That part hasn't been thoroughly tested, though the series
continues to pass xfstests and various other tests done via NFS
export.


Changes since v4:
- Remove new fields from struct inode/dentry
- Remove EXPORT_SYMBOL and extern for new functions
- Try again to fix error handling for rename_exchange

Changes since v3:
- Rebased on v6.4
- Fixed error handling bugs

Changes since v2:
- Move bulk of stable offset support into fs/libfs.c
- Replace xa_find_after with xas_find_next for efficiency

Changes since v1:
- Break the single patch up into a series

Changes since RFC:
- Destroy xarray in shmem_destroy_inode() instead of free_in_core_inode()
- A few cosmetic updates

---

Chuck Lever (3):
      libfs: Add directory operations for stable offsets
      shmem: Refactor shmem_symlink()
      shmem: stable directory offsets


 fs/libfs.c               | 252 +++++++++++++++++++++++++++++++++++++++
 include/linux/fs.h       |  19 +++
 include/linux/shmem_fs.h |   1 +
 mm/shmem.c               |  62 +++++++---
 4 files changed, 319 insertions(+), 15 deletions(-)

--
Chuck Lever



             reply	other threads:[~2023-06-27 20:53 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-27 20:53 Chuck Lever [this message]
2023-06-27 20:53 ` [PATCH v5 1/3] libfs: Add directory operations for stable offsets Chuck Lever
2023-06-28  9:27   ` Christian Brauner
2023-06-28 14:27     ` Chuck Lever III
2023-06-27 20:53 ` [PATCH v5 2/3] shmem: Refactor shmem_symlink() Chuck Lever
2023-06-27 20:53 ` [PATCH v5 3/3] shmem: stable directory offsets Chuck Lever

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=168789864000.157531.11122232592994999253.stgit@manet.1015granger.net \
    --to=cel@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=brauner@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=hch@lst.de \
    --cc=hughd@google.com \
    --cc=jlayton@kernel.org \
    --cc=jlayton@redhat.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=viro@zeniv.linux.org.uk \
    /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