2010-12-28 09:24:14

by Vasiliy Tolstov

[permalink] [raw]
Subject: change partition table on live disk (resize root partition)

Hello.

If i need to resize root partition on live file system i do
fdisk /dev/sda delete old partition table and write new. After that
fdisk say's that system use old partition table before reread it via
partprobe or something else.

But if i modify root partition partprobe say's that it is already in use
and i need to reboot system to see changes and do resize fs.

Is that possible to reread partition table for root fs without
rebooting? I ca'n use lvm on something else, i'm use plain ext3 fs.


P.S. This is need for xen domU, i see that in blkfront_connect function
this code:

/*
* Potentially, the back-end may be signalling
* a capacity change; update the capacity.
*/
err = xenbus_scanf(XBT_NIL, info->xbdev->otherend,
"sectors", "%Lu", &sectors);
if (XENBUS_EXIST_ERR(err))
return;
printk(KERN_INFO "Setting capacity to %Lu\n",
sectors);
set_capacity(info->gd, sectors);
revalidate_disk(info->gd);

If i'm add after revalidate disk some function to reread partiotion
table does it can work?

Sorry for may be stupid question...


--
Vasiliy G Tolstov <[email protected]>
Selfip.Ru