| Summary: | xfs_growfs падает с отрицательным значением. | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Marat Khairullin <xmm> |
| Component: | xfsprogs | Assignee: | Anton Farygin <rider> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P4 | CC: | ab, mike, rider |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Marat Khairullin
2003-08-15 15:53:58 MSD
Ok. I'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't behave incorrectly with negative numbers as well. Будет исправлено в следующей сборке. xfsprogs-2.6.4-alt1 на не совсем честном тесте на loopback высказались: xfs_growfs: XFS_IOC_FSGROWFSDATA xfsctl failed: Input/output error В любом разе надеюсь, что Саша хотя бы в оракулы сгодился... в чём, собственно, баг ? Пожалуйста, простыми фразами. При попытке указать отрицательное значение _целевого_ размера data section (даже
не прироста) оно померло.
Это, типа, если прикинуться, что "grow" мы не понимаем, почитать, что оно умеет
только расти, тоже лениво, а написанное в manpage -- вообще не барское дело ;-)
Но падает оно зря. Да и файловый параметр принимает очень забавно, хорошо, что
хватило ума добавленное "по инерции" sudo убрать:
home:~> rpm -q xfsprogs
xfsprogs-2.8.16-alt1
home:~> 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:~> man mkfs.xfs
home:~> 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:~> /usr/sbin/xfs_growfs -D -5g test.img
xfs_growfs: cannot open /dev/hda7: Permission denied
home:~> df -T .
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda7 xfs 14G 14G 779M 95% /home
ох. На тестовом разделе:
t-hard:~> rpm -q xfsprogs
xfsprogs-3.0.1-alt1
t-hard:~> 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:~> mkdir XFS
t-hard:~> sudo mount /dev/sdd1 XFS
t-hard:~> 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:~> 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:~> 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
Иными словами, УМВР.
|