On Mon, Oct 11, 2021 at 9:21 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > On Mon, 11 Oct 2021 at 11:07, Xie Yongji <xieyongji@xxxxxxxxxxxxx> wrote: > > > > Recently we found the performance of small direct writes is bad > > when writeback_cache enabled. This is because we need to get > > attrs from userspace in fuse_update_get_attr() on each write. > > The timeout for the attributes doesn't work since every direct write > > will invalidate the attrs in fuse_direct_IO(). > > > > To fix it, this patch tries to avoid invalidating attrs if writeback_cache > > is enabled since we should trust local size/ctime/mtime in this case. > > Hi, > > Thanks for the patch. > > Just pushed an update to > git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.gitt#for-next > (9ca3f8697158 ("fuse: selective attribute invalidation")) that should > fix this behavior. > Looks like fuse_update_get_attr() will still get attrs from userspace each time with this commit applied. > Could you please test? > I applied the commit 9ca3f8697158 ("fuse: selective attribute invalidation") and tested it. But the issue still exists. Thanks, Yongji