From c7d1d1b1329a104d2f7fe6307da4344288bc8e01 Mon Sep 17 00:00:00 2001 From: Raja R Harinath Date: Tue, 13 Jul 2010 14:32:00 +0530 Subject: [PATCH] Use dev_t for device id (st_dev) from stat in setup_git_directory_gently() The original declaration was int, which seems to cause trouble on my machine. It causes spurious "filesystem boundary" errors when running the testsuite. The cause seems to be $ stat -c%d . 2147549952 which is too large for a 32-bit int type. Using the correct type, dev_t, solves the issue. (Because I'm paranoid and forgetful, I checked -- yes, Unix v7 had dev_t.) Other uses of st_dev seem to be reasonably safe. fill_stat_cache_info truncates it to an 'unsigned int', but that value seems to be used only to validate the cache, and only if USE_STDEV is defined. Signed-off-by: Raja R Harinath Signed-off-by: Junio C Hamano --- setup.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.c b/setup.c index 7e0460205..87c21f02e 100644 --- a/setup.c +++ b/setup.c @@ -323,7 +323,8 @@ const char *setup_git_directory_gently(int *nongit_ok) const char *gitdirenv; const char *gitfile_dir; int len, offset, ceil_offset, root_len; - int current_device = 0, one_filesystem = 1; + dev_t current_device = 0; + int one_filesystem = 1; struct stat buf; /* -- 2.30.2