xfs
[Top] [All Lists]

[PATCH] fix XFSQA 144

To: xfs@xxxxxxxxxxx
Subject: [PATCH] fix XFSQA 144
From: Christoph Hellwig <hch@xxxxxx>
Date: Sat, 14 Jun 2008 21:22:48 +0200
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Mutt/1.3.28i
Two really dumb bugs:

 - "foo & 0x3FFFFFFFFFFFF" doesn't cap at 1TB, but rather at more than
   two magnitudes larger than that.  That gets us EFBIG with typical
   32bit XFS setups.
 - the command array can easily overflow and thus let the test fail


Signed-off-by: Christoph Hellwig <hch@xxxxxx>


Index: xfstests/dmapi/src/suite2/src/test_fileattr.c
===================================================================
RCS file: /cvs/xfs-cmds/xfstests/dmapi/src/suite2/src/test_fileattr.c,v
retrieving revision 1.12
diff -u -p -r1.12 test_fileattr.c
--- xfstests/dmapi/src/suite2/src/test_fileattr.c       21 Sep 2007 04:15:06 
-0000      1.12
+++ xfstests/dmapi/src/suite2/src/test_fileattr.c       14 Jun 2008 19:12:43 
-0000
@@ -160,7 +160,7 @@ main(
        char            *ls_path;
        char            *pathname;
        char            test_file[100];
-       char            command[100];
+       char            command[200];
        int             num_files=50;
        dm_stat_t       *stat_arr;
        dm_stat_t       dmstat;
@@ -244,7 +244,7 @@ main(
          stat_arr[i].dt_uid=(uid_t)(rand()+rand()*0x10000);
          stat_arr[i].dt_gid=(gid_t)(rand()+rand()*0x10000);
          stat_arr[i].dt_mode=(mode_t)((rand()%4096)+32768);
-          stat_arr[i].dt_size=((dm_off_t)(rand()+rand()*0x10000)) & 
0x3FFFFFFFFFFFF; /* 1 TB max */
+          stat_arr[i].dt_size=((dm_off_t)(rand()+rand()*0x10000)) & 
0x1FFFFFFFFFFULL; /* 1 TB max */
        }       
 
        /*-----------------------------------------------------*\


<Prev in Thread] Current Thread [Next in Thread>