Re: FreeBSD 9.0 BETA2 gpart resize -s uses whole disk on first resize

2011-09-07 Thread Andrey V. Elsukov
On 07.09.2011 04:21, Mikael Fridh wrote:
 Hi gurus,
 
 FreeBSD freebsd9.mg8.tmtowtdi.se 9.0-BETA2 FreeBSD 9.0-BETA2 #0: Wed
 Aug 31 18:07:44 UTC 2011
 r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
 
 When resizing a partition, on first attempt it uses up the whole disk.
 Only on second attempt it resizes to the correct target size.
 
 Resizing from any smaller size to a larger size initially uses up the
 whole disk, like if -s was not used at all even if it's as little as
 one logical disk block.
 
 I'm wondering if anyone else can reproduce.

I can't reproduce.

# dd if=/dev/zero of=./disk count=1 seek=3907029167
1+0 records in
1+0 records out
512 bytes transferred in 0.000116 secs (4409617 bytes/sec)
# mdconfig -f disk
md0
# gpart create -s gpt md0
md0 created
# gpart add -t freebsd-boot -b 64 -s 128 md0
md0p1 added
# gpart add -t freebsd-swap -s 8388608 md0
md0p2 added
# gpart show md0
=34  3907029101  md0  GPT  (1.8T)
  34  30   - free -  (15k)
  64 1281  freebsd-boot  (64k)
 192 83886082  freebsd-swap  (4.0G)
 8388800  3898640335   - free -  (1.8T)

# gpart resize -i 2 -s 33554432 md0
md0p2 resized
# gpart show md0
=34  3907029101  md0  GPT  (1.8T)
  34  30   - free -  (15k)
  64 1281  freebsd-boot  (64k)
 192335544322  freebsd-swap  (16G)
33554624  3873474511   - free -  (1.8T)
===

So, can you enable G_F_CTLDUMP flag and try it again, and show what you
will get?
Just use:
# sysctl kern.geom.debugflags=0x80
# gpart resize -i 2 -s 33554432 md0

On the console (and in the log files) will be printed some info.

-- 
WBR, Andrey V. Elsukov



signature.asc
Description: OpenPGP digital signature


Re: FreeBSD 9.0 BETA2 gpart resize -s uses whole disk on first resize

2011-09-07 Thread Andrey V. Elsukov
On 07.09.2011 04:21, Mikael Fridh wrote:
 Resizing from any smaller size to a larger size initially uses up the
 whole disk, like if -s was not used at all even if it's as little as
 one logical disk block.
 
 I'm wondering if anyone else can reproduce.

Also, can you show the output of this command:
# diskinfo -v ada0

-- 
WBR, Andrey V. Elsukov



signature.asc
Description: OpenPGP digital signature


Re: FreeBSD 9.0 BETA2 gpart resize -s uses whole disk on first resize

2011-09-07 Thread Mikael Fridh
2011/9/7 Andrey V. Elsukov a...@freebsd.org:
 On 07.09.2011 04:21, Mikael Fridh wrote:
 Hi gurus,

 FreeBSD freebsd9.mg8.tmtowtdi.se 9.0-BETA2 FreeBSD 9.0-BETA2 #0: Wed
 Aug 31 18:07:44 UTC 2011
 r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

 When resizing a partition, on first attempt it uses up the whole disk.
 Only on second attempt it resizes to the correct target size.

 Resizing from any smaller size to a larger size initially uses up the
 whole disk, like if -s was not used at all even if it's as little as
 one logical disk block.

 I'm wondering if anyone else can reproduce.

 I can't reproduce.

 So, can you enable G_F_CTLDUMP flag and try it again, and show what you
 will get?
 Just use:
 # sysctl kern.geom.debugflags=0x80
 # gpart resize -i 2 -s 33554432 md0

 On the console (and in the log files) will be printed some info.

I saw your patch and will try to patch and try it.
For completion here is the information you requested.

freebsd9# gpart add -t freebsd-swap -s 200 -l testswap ada0
ada0p5 added
freebsd9# gpart show ada0
=34  3907029101  ada0  GPT  (1.8T)
  34  30- free -  (15k)
  64 128 1  freebsd-boot  (64k)
 19233554240 2  freebsd-swap  (16G)
33554432   209715200 3  freebsd-zfs  (100G)
   243269632  3663757312 4  freebsd-zfs  (1.7T)
  3907026944 200 5  freebsd-swap  (100k)
  39070271441991- free -  (995k)

freebsd9# sysctl kern.geom.debugflags=0x80
kern.geom.debugflags: 0 - 128
freebsd9# gpart resize -i 5 -s 800 ada0
ada0p5 resized
freebsd9# gpart show ada0
=34  3907029101  ada0  GPT  (1.8T)
  34  30- free -  (15k)
  64 128 1  freebsd-boot  (64k)
 19233554240 2  freebsd-swap  (16G)
33554432   209715200 3  freebsd-zfs  (100G)
   243269632  3663757312 4  freebsd-zfs  (1.7T)
  39070269442184 5  freebsd-swap  (1.1M)
  3907029128   7- free -  (3.5k)

freebsd9# diskinfo -v ada0
ada0
512 # sectorsize
2000398934016   # mediasize in bytes (1.8T)
3907029168  # mediasize in sectors
4096# stripesize
0   # stripeoffset
3876021 # Cylinders according to firmware.
16  # Heads according to firmware.
63  # Sectors according to firmware.
WD-WCAVY1880124 # Disk ident.

dmesg output from gpart add and 2 sequential gpart resizes (gpart
resize -i 5 -s 800 ada0):

* add:
Dump of gctl request at 0xfe0002b94a80:
  param:class [R5] = PART
  param:verb [R4] = add
  param:version [R4] =  00 00 00 00
  param:type [R13] = freebsd-swap
  param:size [R4] = 200
  param:label [R9] = testswap
  param:start [R11] = 3907026944
  param:flags [R2] = C
  param:arg0 [R5] = ada0
  param:output [RW4096] =  00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

* resize 1:
Dump of gctl request at 0xfe0002b94c80:
  param:class [R5] = PART
  param:verb [R7] = resize
  param:version [R4] =  00 00 00 00
  param:index [R8] =  05 00 00 00 00 00 00 00
  param:size [R5] = 2184
  param:flags [R2] = C
  param:arg0 [R5] = ada0
  param:output [RW4096] =  00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 

FreeBSD 9.0 BETA2 gpart resize -s uses whole disk on first resize

2011-09-06 Thread Mikael Fridh
Hi gurus,

FreeBSD freebsd9.mg8.tmtowtdi.se 9.0-BETA2 FreeBSD 9.0-BETA2 #0: Wed
Aug 31 18:07:44 UTC 2011
r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64

When resizing a partition, on first attempt it uses up the whole disk.
Only on second attempt it resizes to the correct target size.

Resizing from any smaller size to a larger size initially uses up the
whole disk, like if -s was not used at all even if it's as little as
one logical disk block.

I'm wondering if anyone else can reproduce.

I just tried to perform the same on an old 8.2-STABLE machine and it
did not behave the same. Growing a partition worked fine on initial
attempts.

See excerpt from session below:

freebsd9# gpart show ada0
=34  3907029101  ada0  GPT  (1.8T)
  34  30- free -  (15k)
  64 128 1  freebsd-boot  (64k)
 192 8388608 2  freebsd-swap  (4.0G)
 8388800  3898640335- free -  (1.8T)

freebsd9# expr 8388608 \* 4
33554432

freebsd9# gpart resize -i 2 -s 33554432 ada0
ada0p2 resized

freebsd9# gpart show ada0
=34  3907029101  ada0  GPT  (1.8T)
  34  30- free -  (15k)
  64 128 1  freebsd-boot  (64k)
 192  3907028936 2  freebsd-swap  (1.8T)
  3907029128   7- free -  (3.5k)

freebsd9# gpart resize -i 2 -s 33554432 ada0
ada0p2 resized

freebsd9# gpart show ada0
=34  3907029101  ada0  GPT  (1.8T)
  34  30- free -  (15k)
  64 128 1  freebsd-boot  (64k)
 19233554432 2  freebsd-swap  (16G)
33554624  3873474511- free -  (1.8T)
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org