bug-tar
[Top][All Lists]
Advanced

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

[Bug-tar] Re: Check nano seconds (nsec) to accurate; extract of sym-lin


From: Raphael Bossek
Subject: [Bug-tar] Re: Check nano seconds (nsec) to accurate; extract of sym-links fails
Date: Fri, 21 Jul 2006 12:35:11 +0200

Hi tar folks,

I've started a detailed analysis of the problem I complained. (By the way, the 
last patch is too radical and does not work/test suite fails too).

Within my environment using UserModeLinux (http://user-mode-linux.sf.net) 
restore of nano secondes does not work! lstat() returns always tv_nsec == 0!

I think also the check_time() function need a else- case where the is and 
should values are tested more accurate. A warning here would help a lot to 
discover the problem I have.

The next patch against 1.15.91 solve the problem with nano seconds and does not 
corrupt other things (testsuite fine):

--- tar-1.15.91.orig/src/extract.c
+++ tar-1.15.91/src/extract.c
@@ -918,7 +918,7 @@
            for (; ds; ds = ds->next)
              if (ds->dev == st1.st_dev
                  && ds->ino == st1.st_ino
-                 && timespec_cmp (ds->mtime, get_stat_mtime (&st1)) == 0)
+                 && tar_timespec_cmp (ds->mtime, get_stat_mtime (&st1)) == 0)
                {
                  struct string_list *p =  xmalloc (offsetof (struct 
string_list, string)
                                                    + strlen (file_name) + 1);
@@ -1254,7 +1254,7 @@
          if (lstat (source, &st) == 0
              && st.st_dev == ds->dev
              && st.st_ino == ds->ino
-             && timespec_cmp (get_stat_mtime (&st), ds->mtime) == 0)
+             && tar_timespec_cmp (get_stat_mtime (&st), ds->mtime) == 0)
            {
              /* Unlink the placeholder, then create a hard link if possible,
                 a symbolic link otherwise.  */
---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---8<---

Any furter comments are welcome because I would like to know how tar will 
handle this in future on Linux/i386.

Thanks for your comments,
Raphael Bossek
-- 


Echte DSL-Flatrate dauerhaft für 0,- Euro*. Nur noch kurze Zeit!
"Feel free" mit GMX DSL: http://www.gmx.net/de/go/dsl




reply via email to

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