[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAJfpegvLy+BiyOYCboNvcHbM-5jTwEUkh1u721WGzyH4aTAnjA@mail.gmail.com>
Date: Mon, 15 Oct 2018 16:50:08 +0200
From: Miklos Szeredi <miklos@...redi.hu>
To: Dan Schatzberg <dschatzberg@...com>
Cc: Tejun Heo <tj@...nel.org>, kernel-team <kernel-team@...com>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] fuse: enable caching of symlinks
On Thu, Oct 11, 2018 at 5:17 PM, Dan Schatzberg <dschatzberg@...com> wrote:
> FUSE file reads are cached in the page cache, but symlink reads are
> not. This patch enables FUSE READLINK operations to be cached which
> can improve performance of some FUSE workloads.
>
> In particular, I'm working on a FUSE filesystem for access to source
> code and discovered that about a 10% improvement to build times is
> achieved with this patch (there are a lot of symlinks in the source
> tree).
Pushed a modified version to for-next in the fuse tree.
One important change is to zero-terminate the link (do not rely on
i_size to provide the proper zero termination for fear of a trivial
information leak vector). Other changes are: use of
inode_nohighmem(), which seems to be the idiomatic way of preventing
highmem, and merging the non-cached and cached code paths as much as
possible.
Thanks,
Miklos
Powered by blists - more mailing lists