]> git.notmuchmail.org Git - notmuch/blob - test/corpora/lkml/cur/1382298770.001730:2,
test: add 'lkml' corpus
[notmuch] / test / corpora / lkml / cur / 1382298770.001730:2,
1 From: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
2 Subject: [RFC][PATCH 00/10] cifs: local caching support using FS-Cache
3 Date: Tue, 22 Jun 2010 20:50:05 +0530
4 Lines: 66
5 Message-ID: <1277220005-3322-1-git-send-email-sjayaraman@suse.de>
6 References: <yes>
7 Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
8         linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
9 To: Steve French <smfrench-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
10 X-From: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Tue Jun 22 17:40:38 2010
11 Return-path: <linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
12 Envelope-to: glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org
13 Received: from vger.kernel.org ([209.132.180.67])
14         by lo.gmane.org with esmtp (Exim 4.69)
15         (envelope-from <linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>)
16         id 1OR5aY-00055O-BD
17         for glkc-linux-cifs-1dZseelyfdZg9hUCZPvPmw@public.gmane.org; Tue, 22 Jun 2010 17:40:38 +0200
18 Received: (majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org) by vger.kernel.org via listexpand
19         id S1751889Ab0FVPkf (ORCPT <rfc822;glkc-linux-cifs@m.gmane.org>);
20         Tue, 22 Jun 2010 11:40:35 -0400
21 Received: from victor.provo.novell.com ([137.65.250.26]:50040 "EHLO
22         victor.provo.novell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
23         with ESMTP id S1751554Ab0FVPkf (ORCPT
24         <rfc822;groupwise-SJayaraman-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org:0:0>);
25         Tue, 22 Jun 2010 11:40:35 -0400
26 Received: from localhost (prv-ext-foundry1int.gns.novell.com [137.65.251.240])
27         by victor.provo.novell.com with ESMTP; Tue, 22 Jun 2010 09:20:07 -0600
28 X-Mailer: git-send-email 1.6.4.2
29 In-Reply-To: <yes>
30 Sender: linux-cifs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
31 Precedence: bulk
32 List-ID: <linux-cifs.vger.kernel.org>
33 X-Mailing-List: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
34 Archived-At: <http://permalink.gmane.org/gmane.linux.kernel/1001756>
35
36 This patchset is a first stab at adding persistent, local caching facility for
37 CIFS using the FS-Cache interface.
38
39 The index hierarchy which is mainly used to locate a file object or discard
40 a certain subset of the files cached, currently has three levels:
41         - Server
42         - Share 
43         - File
44
45 The server index object is keyed by hostname of the server. The superblock
46 index object is keyed by the sharename and the inode object is keyed by the
47 UniqueId. The cache coherency is ensured by checking the 'LastWriteTime' and
48 size of file.
49
50 To use this, apply this patchset in order, mount the share with rsize=4096 and
51 try copying a huge file (say few hundred MBs) from mount point to local
52 filesystem. During the first time, the cache will be initialized. When you copy
53 the second time, it should read from the local cache.
54
55 To reduce the impact of page cache and see the local caching in action
56 readily, try doing a sync and drop the caches by doing:
57         sync; echo 3 > /proc/sys/vm/drop_caches
58
59 Known issues
60 -------------
61         - the cache coherency check may not be reliable always as some
62           CIFS servers are known not to update mtime until the filehandle is
63           closed.
64         - not all the Servers under all circumstances provide a unique
65           'UniqueId'.
66
67 Todo's
68 -------
69         - improvements to avoid potential key collisions
70         - address the above known issues
71
72 This set is lightly tested and all the bugs seen during my testing have been
73 fixed. However, this can be considered as an RFC for now.
74
75 Any Comments or Suggestions are welcome.
76
77 Suresh Jayaraman (10)
78   cifs: add kernel config option for CIFS Client caching support
79   cifs: guard cifsglob.h against multiple inclusion
80   cifs: register CIFS for caching
81   cifs: define server-level cache index objects and register them with FS-Cache
82   cifs: define superblock-level cache index objects and register them
83   cifs: define inode-level cache object and register them
84   cifs: FS-Cache page management
85   cifs: store pages into local cache
86   cifs: read pages from FS-Cache
87   cifs: add mount option to enable local caching
88
89  Kconfig      |    9 ++
90  Makefile     |    2 
91  cache.c      |  251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
92  cifs_fs_sb.h |    1 
93  cifsfs.c     |   15 +++
94  cifsglob.h   |   14 +++
95  connect.c    |   16 +++
96  file.c       |   51 +++++++++++
97  fscache.c    |  244 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
98  fscache.h    |  135 +++++++++++++++++++++++++++++++
99  inode.c      |    4 
100  11 files changed, 742 insertions(+)
101
102
103