Re: [PATCH v2 08/17] read-cache: invalidate untracked cache data when reading WAMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Mar 19, 2016 at 8:04 AM, David Turner <dturner@xxxxxxxxxxxxxxxx> wrote:
> @@ -1407,10 +1472,24 @@ static int read_watchman_ext(struct index_state *istate, const void *data,
>         ewah_each_bit(bitmap, mark_no_watchman, istate);
>         ewah_free(bitmap);
>
> -       /*
> -        * TODO: update the untracked cache from the untracked data in this
> -        * extension.
> -        */
> +       if (istate->untracked && istate->untracked->root) {
> +               int i;
> +               const char *untracked;
> +
> +               untracked = data + len + 8 + bitmap_size;
> +               for (i = 0; i < untracked_nr; ++i) {
> +                       int len = strlen(untracked);
> +                       string_list_append(&istate->untracked->invalid_untracked,
> +                                          untracked);
> +                       untracked += len + 1;
> +               }
> +
> +               for_each_string_list(&istate->untracked->invalid_untracked,
> +                        mark_untracked_invalid, istate->untracked);

I think it's a bit early to invalidate untracked cache here. We can do
that in refresh_by_watchman() in 10/17, where ce_mark_uptodate() to
prevent lstat() is also done.

> +
> +               if (untracked_nr)
> +                       istate->cache_changed |= WATCHMAN_CHANGED;
> +       }
>         return 0;
>  }
-- 
Duy
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]