bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] [GNU tar 1.26] testsuite: 2 3 4 5 6 7 8 9 10 11 12 13 14 1


From: Paul Eggert
Subject: Re: [Bug-tar] [GNU tar 1.26] testsuite: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 30 31 34 36 38 39 40 42 43 44 45 46 47 48 49 51 52 53 54 55 57 58 59 60 61 62 64 65 66 67 68 69 71 72 73 74 79 80 81 82 83 84 85 87 90 91 92
Date: Thu, 18 Aug 2011 15:57:51 -0700
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.18) Gecko/20110617 Thunderbird/3.1.11

On 08/18/2011 03:24 PM, Kevin Brott wrote:
> Any chance you could pass a short .diff this way for create.c that would 
> result in the data dump you want?

Sure, here's a short (and untested) suggestion.
By the way, in rereading the truss output it appears
I misread how fstatat is implemented on AIX 7.1.
It's done via statxat, which should work.

--- create.c    2011-03-12 01:09:33.000000000 -0800
+++ create-test.c       2011-08-18 15:43:32.290722424 -0700
@@ -1638,7 +1638,11 @@ dump_file0 (struct tar_stat_info *st, ch
     }
   else if (fstatat (parentfd, name, &st->stat, fstatat_flags) != 0)
     diag = stat_diag;
-  else if (file_dumpable_p (&st->stat))
+  else
+   {
+   fprintf (stderr, "fstatat(...\"%s\"...) reports size=%lld\n",
+           name, (long long) st->stat.st_size);
+   if (file_dumpable_p (&st->stat))
     {
       fd = subfile_open (parent, name, open_read_flags);
       if (fd < 0)
@@ -1648,8 +1652,12 @@ dump_file0 (struct tar_stat_info *st, ch
          st->fd = fd;
          if (fstat (fd, &st->stat) != 0)
            diag = stat_diag;
+         else
+           fprintf (stderr, "fstat(...\"%s\"...) reports size=%lld\n",
+                    name, (long long) st->stat.st_size);
        }
     }
+   }
   if (diag)
     {
       file_removed_diag (p, top_level, diag);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]