1 Return-Path: <tomi.ollila@iki.fi>
\r
2 X-Original-To: notmuch@notmuchmail.org
\r
3 Delivered-To: notmuch@notmuchmail.org
\r
4 Received: from localhost (localhost [127.0.0.1])
\r
5 by arlo.cworth.org (Postfix) with ESMTP id B38856DE1AD8
\r
6 for <notmuch@notmuchmail.org>; Sun, 6 Sep 2015 03:02:10 -0700 (PDT)
\r
7 X-Virus-Scanned: Debian amavisd-new at cworth.org
\r
11 X-Spam-Status: No, score=0.804 tagged_above=-999 required=5 tests=[AWL=0.152,
\r
12 SPF_NEUTRAL=0.652] autolearn=disabled
\r
13 Received: from arlo.cworth.org ([127.0.0.1])
\r
14 by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)
\r
15 with ESMTP id R0OPeyntgZSa for <notmuch@notmuchmail.org>;
\r
16 Sun, 6 Sep 2015 03:02:08 -0700 (PDT)
\r
17 Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])
\r
18 by arlo.cworth.org (Postfix) with ESMTP id 667CB6DE143A
\r
19 for <notmuch@notmuchmail.org>; Sun, 6 Sep 2015 03:02:08 -0700 (PDT)
\r
20 Received: from guru.guru-group.fi (localhost [IPv6:::1])
\r
21 by guru.guru-group.fi (Postfix) with ESMTP id 1718E100033;
\r
22 Sun, 6 Sep 2015 13:00:42 +0300 (EEST)
\r
23 From: Tomi Ollila <tomi.ollila@iki.fi>
\r
24 To: Jani Nikula <jani@nikula.org>, Mark Walters <markwalters1009@gmail.com>,
\r
25 notmuch@notmuchmail.org
\r
26 Subject: Re: [PATCH 2/2] cli: reset db directory mtime upon directory removal
\r
27 In-Reply-To: <1441445731-4362-2-git-send-email-jani@nikula.org>
\r
28 References: <87siray6th.fsf@qmul.ac.uk>
\r
29 <1441445731-4362-1-git-send-email-jani@nikula.org>
\r
30 <1441445731-4362-2-git-send-email-jani@nikula.org>
\r
31 User-Agent: Notmuch/0.20.2+68~g0c35549 (http://notmuchmail.org) Emacs/24.3.1
\r
32 (x86_64-unknown-linux-gnu)
\r
33 X-Face: HhBM'cA~<r"^Xv\KRN0P{vn'Y"Kd;zg_y3S[4)KSN~s?O\"QPoL
\r
34 $[Xv_BD:i/F$WiEWax}R(MPS`^UaptOGD`*/=@\1lKoVa9tnrg0TW?"r7aRtgk[F
\r
35 !)g;OY^,BjTbr)Np:%c_o'jj,Z
\r
36 Date: Sun, 06 Sep 2015 13:00:42 +0300
\r
37 Message-ID: <m2egib27g5.fsf@guru.guru-group.fi>
\r
39 Content-Type: text/plain
\r
40 X-BeenThere: notmuch@notmuchmail.org
\r
41 X-Mailman-Version: 2.1.18
\r
43 List-Id: "Use and development of the notmuch mail system."
\r
44 <notmuch.notmuchmail.org>
\r
45 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,
\r
46 <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>
\r
47 List-Archive: <http://notmuchmail.org/pipermail/notmuch/>
\r
48 List-Post: <mailto:notmuch@notmuchmail.org>
\r
49 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>
\r
50 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,
\r
51 <mailto:notmuch-request@notmuchmail.org?subject=subscribe>
\r
52 X-List-Received-Date: Sun, 06 Sep 2015 10:02:10 -0000
\r
54 On Sat, Sep 05 2015, Jani Nikula <jani@nikula.org> wrote:
\r
56 > The library does not have a function to remove a directory document
\r
57 > for a path. Usually this doesn't matter except for a slight waste of
\r
58 > space. However, if the same directory gets added to the filesystem
\r
59 > again, the old directory document is found with the old mtime. Reset
\r
60 > the directory mtime on removal to avoid problems.
\r
62 > The corner case that can hit this problem is renaming directories back
\r
63 > and forth. Renaming does not change the mtime of the directory in the
\r
64 > filesystem, and thus the old db directory document mtime may match the
\r
65 > fs mtime of the directory.
\r
67 > The long term fix might be to add a library function to remove a
\r
68 > directory document, however this is a much simpler and faster fix for
\r
77 > notmuch-new.c | 9 +++++++++
\r
78 > 1 file changed, 9 insertions(+)
\r
80 > diff --git a/notmuch-new.c b/notmuch-new.c
\r
81 > index 514e06a4d1f3..33645349cd5f 100644
\r
82 > --- a/notmuch-new.c
\r
83 > +++ b/notmuch-new.c
\r
84 > @@ -878,6 +878,15 @@ _remove_directory (void *ctx,
\r
89 > + * XXX: The library does not have a function to remove a directory
\r
90 > + * document for a path. Usually this doesn't matter except for a
\r
91 > + * slight waste of space. However, if the directory gets added to
\r
92 > + * the filesystem again, the old directory document is found with
\r
93 > + * the old mtime. Reset the directory mtime to avoid problems.
\r
95 > + notmuch_directory_set_mtime (directory, 0);
\r
98 > notmuch_directory_destroy (directory);
\r
103 > _______________________________________________
\r
104 > notmuch mailing list
\r
105 > notmuch@notmuchmail.org
\r
106 > http://notmuchmail.org/mailman/listinfo/notmuch
\r