<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>21960</bug_id>
          
          <creation_ts>2009-10-16 13:52:36 +0400</creation_ts>
          <short_desc>Не копирует оооочень большие файлы</short_desc>
          <delta_ts>2019-10-26 13:08:03 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>rsync</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Gladkov">legion</reporter>
          <assigned_to name="placeholder@altlinux.org">placeholder</assigned_to>
          <cc>dubrsl</cc>
    
    <cc>glebfm</cc>
    
    <cc>lav</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>101642</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2009-10-16 13:52:36 +0400</bug_when>
    <thetext>Пытаюсь скопировать файл большого размера (6.6 эксабайт):

$ ssh server &apos;ls -lah /misc/data&apos;
-rw-r--r-- 1 nobody nobody 6.6E Oct 15 17:41 /misc/data

Это файл с дырками (sparse). Реально в нём данных очень мало.

$ rsync -avPS server:/misc/data ./
receiving file list ... 
1 file to consider
data
   113803264   0%    4.16MB/s 490346472:-8:-8

время как видно, совсем сломано.

Более того, сам файл копируется быстро... но вот после этого rsync что-то делает с приведённом выводом ... дождаться 1% я не смог :)

Если rsync прервать, то он создаст копируемый файл.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108086</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2010-03-24 19:36:16 +0300</bug_when>
    <thetext>У меня не нашлось файловой системы, на которой я мог бы поставить подобный эксперимент:
$ truncate -s 6E large
truncate: truncating `large&apos; at 6917529027641081856 bytes: File too large</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108861</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2010-04-24 23:12:21 +0400</bug_when>
    <thetext>Да ну прям.  Старый добрый XFS, как обычно:

$ truncate -s 6E large
$ stat large 
  File: `large&apos;
  Size: 6917529027641081856     Blocks: 0          IO Block: 4096   regular file
Device: 902h/2306d      Inode: 50372477    Links: 1
Access: (0644/-rw-r--r--)  Uid: (  501/    mike)   Gid: (  504/    mike)
Access: 2010-04-24 22:09:07.138738801 +0300
Modify: 2010-04-24 22:09:07.138738801 +0300
Change: 2010-04-24 22:09:07.138738801 +0300
$ df -Th .
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/md2       xfs    806G   79G  728G  10% /home
$ uname -r
2.6.18-ovz-rhel-alt11

Время да, сломано аналогично.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119864</commentid>
    <comment_count>3</comment_count>
    <who name="Slava Dubrovskiy">dubrsl</who>
    <bug_when>2011-04-04 11:25:56 +0400</bug_when>
    <thetext>Вроде вышел багфикс rsync 3.0.8
Может там исправили?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120262</commentid>
    <comment_count>4</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2011-04-13 01:35:17 +0400</bug_when>
    <thetext>(In reply to comment #3)
&gt; Вроде вышел багфикс rsync 3.0.8
&gt; Может там исправили?

Нет, там ничего в этой сфере не изменилось.
Эффективной обработка файлов с дырками без специально написанного на эту тему кода не получится.

С недавних пор cp из coreutils немного обучен:

$ &gt; small &amp;&amp; truncate -s 6E large &amp;&amp; time strace -P large -P small cp --sparse=always large small &amp;&amp; ls -log small
Requested path &apos;large&apos; resolved into &apos;/mnt/large&apos;
Requested path &apos;small&apos; resolved into &apos;/mnt/small&apos;
stat(&quot;small&quot;, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
stat(&quot;large&quot;, {st_mode=S_IFREG|0644, st_size=6917529027641081856, ...}) = 0
stat(&quot;small&quot;, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
open(&quot;large&quot;, O_RDONLY)                 = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=6917529027641081856, ...}) = 0
open(&quot;small&quot;, O_WRONLY|O_TRUNC)         = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
ioctl(3, FS_IOC_FIEMAP, 0x7fffee10c6c0) = 0
ftruncate(4, 6917529027641081856)       = 0
close(4)                                = 0
close(3)                                = 0
0.00user 0.00system 0:00.00elapsed 133%CPU (0avgtext+0avgdata 3760maxresident)k
0inputs+0outputs (0major+539minor)pagefaults 0swaps
-rw-r--r-- 1 6917529027641081856 Апр 13 01:26 small</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149080</commentid>
    <comment_count>5</comment_count>
    <who name="Dmitry V. Levin">ldv</who>
    <bug_when>2014-11-28 20:09:45 +0300</bug_when>
    <thetext>В 3.1.1 ничего не изменилось, rsync по-прежнему вычитывает файлы-источники read&apos;ом.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>