1
0
mirror of https://github.com/git/git.git synced 2024-09-28 10:00:54 +02:00

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 <harinath@hurrynot.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Raja R Harinath 2010-07-13 14:32:00 +05:30 committed by Junio C Hamano
parent 449aeb10d5
commit c7d1d1b132

View File

@ -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;
/*