hello,
i had the same pb yesterday, trying to go from 6.3.2 to 6.5.3.
i have the same rootfs size : 867M used 700M.
After tracking the pb to not enough space in /tmp for download and unzip.
my solution was to move /tmp to /boot because i have 7G available there ( i know i was using the usb stick for that)
[do not copy, if you do not understand]
mv /tmp to /tmpori (rename tmp)
ln -s /tmp /boot/tmp (create a link from /tmp to /boot/tmp)
mkdir /boot/tmp
tested by touch /tmp/toto , ls -l /boot/tmp , ok the file toto is present
cp -R * /tmpori /tmp ( recopy old tmp to new tmp)
and there upgrade , everything went fine , reboot , OK , restart array , OK.
My new rootfs is : rootfs 867M 703M 165M 81% /
i think i will have to do the same for each upgrade, since i have only 2G memory and no pb for a file server only purpose.