X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2Fcorpora%2Flkml%2Fcur%2F1382298770.001730%3A2%2C;fp=test%2Fcorpora%2Flkml%2Fcur%2F1382298770.001730%3A2%2C;h=840be2ee033952a507e23d20f4b62c0fe6f3088b;hb=e08f5f76e406de2c6bdcf85952aaeb66ec0d37de;hp=0000000000000000000000000000000000000000;hpb=ce8c88824ab91882ea50c761b930390953cf2c34;p=notmuch diff --git a/test/corpora/lkml/cur/1382298770.001730:2, b/test/corpora/lkml/cur/1382298770.001730:2, new file mode 100644 index 00000000..840be2ee --- /dev/null +++ b/test/corpora/lkml/cur/1382298770.001730:2, @@ -0,0 +1,103 @@ +From: Suresh Jayaraman +Subject: [RFC][PATCH 00/10] cifs: local caching support using FS-Cache +Date: Tue, 22 Jun 2010 20:50:05 +0530 +Lines: 66 +Message-ID: <1277220005-3322-1-git-send-email-sjayaraman@suse.de> +References: +Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, + linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Howells +To: Steve French +X-From: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Tue Jun 22 17:40:38 2010 +Return-path: +Envelope-to: glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org +Received: from vger.kernel.org ([209.132.180.67]) + by lo.gmane.org with esmtp (Exim 4.69) + (envelope-from ) + id 1OR5aY-00055O-BD + for glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org; Tue, 22 Jun 2010 17:40:38 +0200 +Received: (majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org) by vger.kernel.org via listexpand + id S1751889Ab0FVPkf (ORCPT ); + Tue, 22 Jun 2010 11:40:35 -0400 +Received: from victor.provo.novell.com ([137.65.250.26]:50040 "EHLO + victor.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1751554Ab0FVPkf (ORCPT + ); + Tue, 22 Jun 2010 11:40:35 -0400 +Received: from localhost (prv-ext-foundry1int.gns.novell.com [137.65.251.240]) + by victor.provo.novell.com with ESMTP; Tue, 22 Jun 2010 09:20:07 -0600 +X-Mailer: git-send-email 1.6.4.2 +In-Reply-To: +Sender: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org +Precedence: bulk +List-ID: +X-Mailing-List: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org +Archived-At: + +This patchset is a first stab at adding persistent, local caching facility for +CIFS using the FS-Cache interface. + +The index hierarchy which is mainly used to locate a file object or discard +a certain subset of the files cached, currently has three levels: + - Server + - Share + - File + +The server index object is keyed by hostname of the server. The superblock +index object is keyed by the sharename and the inode object is keyed by the +UniqueId. The cache coherency is ensured by checking the 'LastWriteTime' and +size of file. + +To use this, apply this patchset in order, mount the share with rsize=4096 and +try copying a huge file (say few hundred MBs) from mount point to local +filesystem. During the first time, the cache will be initialized. When you copy +the second time, it should read from the local cache. + +To reduce the impact of page cache and see the local caching in action +readily, try doing a sync and drop the caches by doing: + sync; echo 3 > /proc/sys/vm/drop_caches + +Known issues +------------- + - the cache coherency check may not be reliable always as some + CIFS servers are known not to update mtime until the filehandle is + closed. + - not all the Servers under all circumstances provide a unique + 'UniqueId'. + +Todo's +------- + - improvements to avoid potential key collisions + - address the above known issues + +This set is lightly tested and all the bugs seen during my testing have been +fixed. However, this can be considered as an RFC for now. + +Any Comments or Suggestions are welcome. + +Suresh Jayaraman (10) + cifs: add kernel config option for CIFS Client caching support + cifs: guard cifsglob.h against multiple inclusion + cifs: register CIFS for caching + cifs: define server-level cache index objects and register them with FS-Cache + cifs: define superblock-level cache index objects and register them + cifs: define inode-level cache object and register them + cifs: FS-Cache page management + cifs: store pages into local cache + cifs: read pages from FS-Cache + cifs: add mount option to enable local caching + + Kconfig | 9 ++ + Makefile | 2 + cache.c | 251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + cifs_fs_sb.h | 1 + cifsfs.c | 15 +++ + cifsglob.h | 14 +++ + connect.c | 16 +++ + file.c | 51 +++++++++++ + fscache.c | 244 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + fscache.h | 135 +++++++++++++++++++++++++++++++ + inode.c | 4 + 11 files changed, 742 insertions(+) + + +