From: Raja R Harinath Date: Wed, 14 Jul 2010 01:08:13 GMT Subject: Re: [PATCH] Use dev_t for device id (st_dev) from stat in setup_git_directory_gently() Message-ID: <878w5elvk2.fsf@hariville.hurrynot.org> In-Reply-To: <7voceb2jaw.fsf@alter.siamese.dyndns.org> Hi, Junio C Hamano writes: > Raja R Harinath writes: > >> 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. >> --- > > Makes sense; thanks. > > Sign-off? Signed-off-by: Raja R Harinath Do I need to resend? >> setup.c | 3 ++- >> 1 files changed, 2 insertions(+), 1 deletions(-) >> >> diff --git a/setup.c b/setup.c >> index 7e04602..87c21f0 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; >> >> /* >> -- >> 1.7.2.rc2.11.g03e33