Re: [PATCH] Use dev_t for device id (st_dev) from stat in setup_git_directory_gently()
Hi,
Junio C Hamano <gitster@pobox.com> writes:
Show 22 quoted lines
> Raja R Harinath <harinath@hurrynot.org> 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 <harinath@hurrynot.org>
Do I need to resend?
Show 19 quoted lines
>> 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