copy: always use FIEMAP_FLAG_SYNC, for now
authorJim Meyering <meyering@redhat.com>
Wed, 20 Apr 2011 07:49:15 +0000 (09:49 +0200)
committerJim Meyering <meyering@redhat.com>
Wed, 20 Apr 2011 15:11:15 +0000 (17:11 +0200)
* src/extent-scan.c (extent_need_sync): Always return true,
to make the sole caller always use FIEMAP_FLAG_SYNC.
This will doubtless have an undesirable performance impact,
but we'll mitigate that shortly, by using extent_copy only on
files with holes.

src/extent-scan.c

index da7eb9d..596e7f7 100644 (file)
 static bool
 extent_need_sync (void)
 {
+  /* For now always return true, to be on the safe side.
+     If/when FIEMAP semantics are well defined (before SEEK_HOLE support
+     is usable) and kernels implementing them are in use, we may relax
+     this once again.  */
+  return true;
+
+#if FIEMAP_BEHAVIOR_IS_DEFINED_AND_USABLE
   static int need_sync = -1;
 
   if (need_sync == -1)
@@ -57,6 +64,7 @@ extent_need_sync (void)
     }
 
   return need_sync;
+#endif
 }
 
 /* Allocate space for struct extent_scan, initialize the entries if