diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2006-12-23 02:34:38 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-12-29 11:36:45 -0800 |
commit | 40be82723ca35d4e95daccc3ccf6456f6876430e (patch) | |
tree | 21505c4cc32640221ced3e0e7de6ffd2f3245a0b /config.c | |
parent | bac2614de3c162de2328f21f2272ffbc30122230 (diff) | |
download | git-40be82723ca35d4e95daccc3ccf6456f6876430e.tar.gz |
Ensure core.packedGitWindowSize cannot be less than 2 pages.
We cannot allow a window to be smaller than 2 system pages.
This limitation is necessary to support the feature of use_pack()
where we always supply at least 20 bytes after the offset to help
the object header and delta base parsing routines.
If packedGitWindowSize were allowed to be as small as 1 system page
then we would be completely unable to access an object header which
spanned over a page as we would never be able to arrange a mapping
such that the header was contiguous in virtual memory.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'config.c')
-rw-r--r-- | config.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -302,8 +302,8 @@ int git_default_config(const char *var, const char *value) int pgsz = getpagesize(); packed_git_window_size = git_config_int(var, value); packed_git_window_size /= pgsz; - if (!packed_git_window_size) - packed_git_window_size = 1; + if (packed_git_window_size < 2) + packed_git_window_size = 2; packed_git_window_size *= pgsz; return 0; } |