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

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

    <bug>
          <bug_id>2842</bug_id>
          
          <creation_ts>2003-08-15 15:53:58 +0400</creation_ts>
          <short_desc>xfs_growfs падает с отрицательным значением.</short_desc>
          <delta_ts>2009-06-16 17:36:32 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>xfsprogs</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marat Khairullin">xmm</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>ab</cc>
    
    <cc>mike</cc>
    
    <cc>rider</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2602</commentid>
    <comment_count>0</comment_count>
    <who name="Marat Khairullin">xmm</who>
    <bug_when>2003-08-15 15:53:58 +0400</bug_when>
    <thetext>xfs_grouwfs -D -5g /some-xfs
kernel BUG at filename.c:839!
invalid operand: 00000 ....
....
Нехватает проверки на отрицательные значения параметра D
---

---

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>5763</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Bokovoy">ab</who>
    <bug_when>2003-08-25 20:46:17 +0400</bug_when>
    <thetext>Ok. I&apos;ve looked into code of xfsprogs and it looks like very simple codechange.
However, additional audit for every other XFS utility is needed to ensure it
doesn&apos;t behave incorrectly with negative numbers as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>10833</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Bokovoy">ab</who>
    <bug_when>2003-12-07 14:13:15 +0300</bug_when>
    <thetext>Будет исправлено в следующей сборке.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40988</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2006-10-02 10:05:26 +0400</bug_when>
    <thetext>xfsprogs-2.6.4-alt1 на не совсем честном тесте на loopback высказались:
xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Input/output error

В любом разе надеюсь, что Саша хотя бы в оракулы сгодился...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40993</commentid>
    <comment_count>4</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2006-10-02 11:53:32 +0400</bug_when>
    <thetext>в чём, собственно, баг ?
Пожалуйста, простыми фразами.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43349</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2006-12-17 21:22:56 +0300</bug_when>
    <thetext>При попытке указать отрицательное значение _целевого_ размера data section (даже
не прироста) оно померло.

Это, типа, если прикинуться, что &quot;grow&quot; мы не понимаем, почитать, что оно умеет
только расти, тоже лениво, а написанное в manpage -- вообще не барское дело ;-)

Но падает оно зря.  Да и файловый параметр принимает очень забавно, хорошо, что
хватило ума добавленное &quot;по инерции&quot; sudo убрать:

home:~&gt; rpm -q xfsprogs 
xfsprogs-2.8.16-alt1
home:~&gt; dd if=/dev/zero of=test.img bs=1M count=64
64+0 records in
64+0 records out
67108864 bytes (67 MB) copied, 0.793148 seconds, 84.6 MB/s
home:~&gt; man mkfs.xfs
home:~&gt; sudo mkfs.xfs test.img
Password:
meta-data=test.img               isize=256    agcount=4, agsize=4096 blks
         =                       sectsz=512   attr=0
data     =                       bsize=4096   blocks=16384, imaxpct=25
         =                       sunit=0      swidth=0 blks, unwritten=1
naming   =version 2              bsize=4096  
log      =internal log           bsize=4096   blocks=1200, version=1
         =                       sectsz=512   sunit=0 blks
realtime =none                   extsz=4096   blocks=0, rtextents=0
home:~&gt; /usr/sbin/xfs_growfs -D -5g test.img
xfs_growfs: cannot open /dev/hda7: Permission denied
home:~&gt; df -T .
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda7      xfs     14G   14G  779M  95% /home</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43351</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2006-12-17 21:31:51 +0300</bug_when>
    <thetext>ох.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93140</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Shigorin">mike</who>
    <bug_when>2009-06-16 17:36:32 +0400</bug_when>
    <thetext>На тестовом разделе:

t-hard:~&gt; rpm -q xfsprogs 
xfsprogs-3.0.1-alt1
t-hard:~&gt; sudo mkfs.xfs -d size=104857600 -f /dev/sdd1 
meta-data=/dev/sdd1              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
t-hard:~&gt; mkdir XFS
t-hard:~&gt; sudo mount /dev/sdd1 XFS                    
t-hard:~&gt; sudo /usr/sbin/xfs_growfs -D 251000 /dev/sdd1         
meta-data=/dev/sdd1              isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 25600 to 251000
t-hard:~&gt; sudo /usr/sbin/xfs_growfs -D -5g /dev/sdd1 
meta-data=/dev/sdd1              isize=256    agcount=40, agsize=6400 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=251000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Input/output error
t-hard:~&gt; sudo /usr/sbin/xfs_growfs -D 250000 /dev/sdd1 
meta-data=/dev/sdd1              isize=256    agcount=40, agsize=6400 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=251000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=1200, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
data size 250000 too small, old size is 251000

Иными словами, УМВР.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>