Linux CIFS filesystem development
 help / color / mirror / Atom feed
From: Ronnie Sahlberg <lsahlber@redhat.com>
To: linux-cifs <linux-cifs@vger.kernel.org>
Cc: Steve French <smfrench@gmail.com>
Subject: Cifs: caching of arbitrary directories and attributes
Date: Wed, 24 Aug 2022 10:27:50 +1000	[thread overview]
Message-ID: <20220824002756.3659568-1-lsahlber@redhat.com> (raw)

Steve, List

Here is an updated list of the additional patches needed to expand directory caching based on leases.

The first three patches should be small and trivial. They do not change functionality, just preparing
for the fourth, big patch.
The fourth patch is the meat of the series. This is where we change from a static allocatoin to
cache only the root-directory to instead dynamically cache any (within limits) directory.
The fourth patch contains a large comment describing the strategies for locking and reference counts
for these structures to make review easier.

The fifth patch expands how we cache attributes for the entries in these directories, which is based
on holding a reference to the dentry for the directory. (so that inode.c can find it)
This patch allows SAFE caching of all attributes in these directories for a long time and will
reduce the need for the ad-hoc and unsafe "cache the attributes for some time to prioritize performance"
which we have done for a long time. This caching is based and triggered from opendir(), so it will
only apply to directories we have already scanned (and read the entries and attributes for)

The sixth patch is a patch to recind the lease after an arbitrarily long timeout.






             reply	other threads:[~2022-08-24  0:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-24  0:27 Ronnie Sahlberg [this message]
2022-08-24  0:27 ` [PATCH 1/6] cifs: Make tcon contain a wrapper structure cached_fids instead of cached_fid Ronnie Sahlberg
2022-08-24  0:27 ` [PATCH 2/6] cifs: cifs: handlecache, only track the dentry for the root handle Ronnie Sahlberg
2022-08-24 13:26   ` Tom Talpey
2022-08-25  4:22     ` ronnie sahlberg
2022-08-24  0:27 ` [PATCH 3/6] cifs: store a pointer to a fid in the cfid structure instead of the struct Ronnie Sahlberg
2022-08-24  0:27 ` [PATCH 4/6] cifs: start caching all directories we open and get a lease for Ronnie Sahlberg
2022-08-24 13:36   ` Tom Talpey
2022-08-25  4:22     ` ronnie sahlberg
2022-08-24  0:27 ` [PATCH 5/6] cifs: find and use the dentry for cached non-root directories also Ronnie Sahlberg
2022-08-24 13:43   ` Tom Talpey
2022-08-25  4:21     ` ronnie sahlberg
2022-08-24  0:27 ` [PATCH 6/6] cifs: do not cache leased directories for longer than 30 seconds Ronnie Sahlberg
2022-08-24 13:48   ` Tom Talpey
2022-08-25  4:39     ` ronnie sahlberg
2022-08-25 15:29       ` Tom Talpey

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=20220824002756.3659568-1-lsahlber@redhat.com \
    --to=lsahlber@redhat.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=smfrench@gmail.com \
    /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