Just checked the code, you will need to round the output from gpart to the nearest whole block, see this example:
# gpart show md0 => 34 297086 md0 GPT (145M) 34 297086 1 freebsd-ufs (145M)
# dumpfs -m /mnt # newfs command for /mnt (/dev/md0p1) newfs -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 16384 -h 64 -i 8192 -k 368 -m 8 -o time -s 297080 /dev/md0p1
So gpart reports 297086 but dumpfs reports 297080, making your code think it needs to do a resize.
Should be able to round the number using the fragment size (-f <frag-size>) like this, assuming a sector size of 512:
>>> gpart = 297086 >>> frag = 4096 >>> (gpart) - (gpart) % (frag / 512) 297080.0
« Back to merge proposal
Just checked the code, you will need to round the output from gpart to the nearest whole block, see this example:
# gpart show md0
=> 34 297086 md0 GPT (145M)
34 297086 1 freebsd-ufs (145M)
# dumpfs -m /mnt
# newfs command for /mnt (/dev/md0p1)
newfs -O 2 -U -a 4 -b 32768 -d 32768 -e 4096 -f 4096 -g 16384 -h 64 -i 8192 -k 368 -m 8 -o time -s 297080 /dev/md0p1
So gpart reports 297086 but dumpfs reports 297080, making your code think it needs to do a resize.
Should be able to round the number using the fragment size (-f <frag-size>) like this, assuming a sector size of 512:
>>> gpart = 297086
>>> frag = 4096
>>> (gpart) - (gpart) % (frag / 512)
297080.0