1*4882a593SmuzhiyunUpstream-Status: Inappropriate [1] 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun[1] Not the author, the patch is from: 4*4882a593Smuzhiyunhttp://vault.centos.org/5.8/os/SRPMS/rdist-6.1.5-44.src.rpm 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun--- rdist-6.1.5/src/filesys.c.stat64 2005-05-04 14:11:03.000000000 +0200 7*4882a593Smuzhiyun+++ rdist-6.1.5/src/filesys.c 2005-05-04 14:11:10.000000000 +0200 8*4882a593Smuzhiyun@@ -430,8 +430,8 @@ 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun int getfilesysinfo(file, freespace, freefiles) 11*4882a593Smuzhiyun char *file; 12*4882a593Smuzhiyun- long *freespace; 13*4882a593Smuzhiyun- long *freefiles; 14*4882a593Smuzhiyun+ fsblkcnt_t *freespace; 15*4882a593Smuzhiyun+ fsfilcnt_t *freefiles; 16*4882a593Smuzhiyun { 17*4882a593Smuzhiyun #if defined(STATFS_TYPE) 18*4882a593Smuzhiyun static statfs_t statfsbuf; 19*4882a593Smuzhiyun--- rdist-6.1.5/src/server.c.stat64 2005-05-04 14:11:23.000000000 +0200 20*4882a593Smuzhiyun+++ rdist-6.1.5/src/server.c 2005-05-04 14:20:34.000000000 +0200 21*4882a593Smuzhiyun@@ -62,8 +62,8 @@ 22*4882a593Smuzhiyun int catname = 0; /* cat name to target name */ 23*4882a593Smuzhiyun char *sptarget[32]; /* stack of saved ptarget's for directories */ 24*4882a593Smuzhiyun char *fromhost = NULL; /* Client hostname */ 25*4882a593Smuzhiyun-static long min_freespace = 0; /* Minimium free space on a filesystem */ 26*4882a593Smuzhiyun-static long min_freefiles = 0; /* Minimium free # files on a filesystem */ 27*4882a593Smuzhiyun+static fsblkcnt_t min_freespace = 0; /* Minimium free space on a filesystem */ 28*4882a593Smuzhiyun+static fsfilcnt_t min_freefiles = 0; /* Minimium free # files on a filesystem */ 29*4882a593Smuzhiyun int oumask; /* Old umask */ 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* 32*4882a593Smuzhiyun@@ -1326,7 +1326,7 @@ 33*4882a593Smuzhiyun fatalerr("Expected digit, got '%s'.", cp); 34*4882a593Smuzhiyun return; 35*4882a593Smuzhiyun } 36*4882a593Smuzhiyun- min_freespace = (unsigned long) atoi(cp); 37*4882a593Smuzhiyun+ min_freespace = (fsblkcnt_t) atoll(cp); 38*4882a593Smuzhiyun break; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun case SC_FREEFILES: /* Minimium free files */ 41*4882a593Smuzhiyun@@ -1334,7 +1334,7 @@ 42*4882a593Smuzhiyun fatalerr("Expected digit, got '%s'.", cp); 43*4882a593Smuzhiyun return; 44*4882a593Smuzhiyun } 45*4882a593Smuzhiyun- min_freefiles = (unsigned long) atoi(cp); 46*4882a593Smuzhiyun+ min_freefiles = (fsfilcnt_t) atoll(cp); 47*4882a593Smuzhiyun break; 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun case SC_LOGGING: /* Logging options */ 50*4882a593Smuzhiyun@@ -1364,7 +1364,8 @@ 51*4882a593Smuzhiyun time_t mtime, atime; 52*4882a593Smuzhiyun char *owner, *group, *file; 53*4882a593Smuzhiyun char new[MAXPATHLEN]; 54*4882a593Smuzhiyun- long freespace = -1, freefiles = -1; 55*4882a593Smuzhiyun+ fsfilcnt_t freefiles = -1; 56*4882a593Smuzhiyun+ fsblkcnt_t freespace = -1; 57*4882a593Smuzhiyun char *cp = cmd; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun /* 60*4882a593Smuzhiyun@@ -1499,7 +1500,7 @@ 61*4882a593Smuzhiyun */ 62*4882a593Smuzhiyun if (min_freespace || min_freefiles) { 63*4882a593Smuzhiyun /* Convert file size to kilobytes */ 64*4882a593Smuzhiyun- long fsize = (long) (size / 1024); 65*4882a593Smuzhiyun+ fsblkcnt_t fsize = (fsblkcnt_t) (size / 1024); 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun if (getfilesysinfo(target, &freespace, &freefiles) != 0) 68*4882a593Smuzhiyun return; 69*4882a593Smuzhiyun@@ -1511,14 +1512,14 @@ 70*4882a593Smuzhiyun if (min_freespace && (freespace >= 0) && 71*4882a593Smuzhiyun (freespace - fsize < min_freespace)) { 72*4882a593Smuzhiyun error( 73*4882a593Smuzhiyun- "%s: Not enough free space on filesystem: min %d free %d", 74*4882a593Smuzhiyun+ "%s: Not enough free space on filesystem: min %lld free %lld", 75*4882a593Smuzhiyun target, min_freespace, freespace); 76*4882a593Smuzhiyun return; 77*4882a593Smuzhiyun } 78*4882a593Smuzhiyun if (min_freefiles && (freefiles >= 0) && 79*4882a593Smuzhiyun (freefiles - 1 < min_freefiles)) { 80*4882a593Smuzhiyun error( 81*4882a593Smuzhiyun- "%s: Not enough free files on filesystem: min %d free %d", 82*4882a593Smuzhiyun+ "%s: Not enough free files on filesystem: min %lld free %lld", 83*4882a593Smuzhiyun target, min_freefiles, freefiles); 84*4882a593Smuzhiyun return; 85*4882a593Smuzhiyun } 86