Reread partition table without rebooting?Mount new partition on a removable disk after dd?linux /dev/sd? read...
Why do we use polarized capacitors?
Why doesn't a const reference extend the life of a temporary object passed via a function?
Filling an area between two curves
Calculate Levenshtein distance between two strings in Python
What do the Banks children have against barley water?
What is it called when one voice type sings a 'solo'?
Are objects structures and/or vice versa?
Creating a loop after a break using Markov Chain in Tikz
Does bootstrapped regression allow for inference?
Information to fellow intern about hiring?
Does the average primeness of natural numbers tend to zero?
Find the positive root of a 4-th degree polynomial equation
Why airport relocation isn't done gradually?
Extreme, but not acceptable situation and I can't start the work tomorrow morning
Denied boarding due to overcrowding, Sparpreis ticket. What are my rights?
How can I fix this gap between bookcases I made?
How can I plot a Farey diagram?
What are the advantages and disadvantages of running one shots compared to campaigns?
How would photo IDs work for shapeshifters?
Is a vector space a subspace of itself?
Are cabin dividers used to "hide" the flex of the airplane?
Copycat chess is back
Prime joint compound before latex paint?
What is GPS' 19 year rollover and does it present a cybersecurity issue?
Reread partition table without rebooting?
Mount new partition on a removable disk after dd?linux /dev/sd? read failedIs reboot necessary after expanding a disk/partition?Linux partition device not being created in FSIn linux, how can I determine what processes are using a block device?/home partition stuckRecover partition table for lvmDeleting extended partition safely without rebootingOpening a Qemu/Xen file based VM Image (won't boot after upgrade)Script partitioning fresh raw disk images with sfdisk (C/H/S ignored?)How to tell mdadm to use a partition as/instead of a block-device?After hardware RAID array expansion fdisk wont allow me to use additional available sectorsRestore corrupted partition table in emergency mode without fdisk command
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
Sometimes, when resizing or otherwise mucking about with partitions on a disk, cfdisk will say:
Wrote partition table, but re-read table failed. Reboot to update table.
(This also happens with other partitioning tools, so I'm thinking this is a Linux issue rather than a cfdisk issue.) Why is this, and why does it only happens sometimes, and what can I do to avoid it?
Note: Please assume that none of the partitions I am actually editing are opened, mounted or otherwise in use.
Update:
cfdisk uses ioctl(fd, BLKRRPART, NULL)
to tell Linux to reread the partition table. Two of the other tools recommended so far (hdparm -z
DEVICE
, sfdisk -R
DEVICE
) does exactly the same thing. The partprobe
DEVICE
command, on the other hand, seems to use a new ioctl called BLKPG, which might be better; I don't know. (It also falls back on BLKRRPART if BLKPG fails.)
BLKPG seems to be a "this partition has changed; here is the new size" operation, and it looked like partprobe
called it individually on all the partitions on the device passed, so it should work if the individual partitions are unused. However, I have not had the opportunity to try it.
partition fdisk linux
add a comment |
Sometimes, when resizing or otherwise mucking about with partitions on a disk, cfdisk will say:
Wrote partition table, but re-read table failed. Reboot to update table.
(This also happens with other partitioning tools, so I'm thinking this is a Linux issue rather than a cfdisk issue.) Why is this, and why does it only happens sometimes, and what can I do to avoid it?
Note: Please assume that none of the partitions I am actually editing are opened, mounted or otherwise in use.
Update:
cfdisk uses ioctl(fd, BLKRRPART, NULL)
to tell Linux to reread the partition table. Two of the other tools recommended so far (hdparm -z
DEVICE
, sfdisk -R
DEVICE
) does exactly the same thing. The partprobe
DEVICE
command, on the other hand, seems to use a new ioctl called BLKPG, which might be better; I don't know. (It also falls back on BLKRRPART if BLKPG fails.)
BLKPG seems to be a "this partition has changed; here is the new size" operation, and it looked like partprobe
called it individually on all the partitions on the device passed, so it should work if the individual partitions are unused. However, I have not had the opportunity to try it.
partition fdisk linux
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
Sometimes, when resizing or otherwise mucking about with partitions on a disk, cfdisk will say:
Wrote partition table, but re-read table failed. Reboot to update table.
(This also happens with other partitioning tools, so I'm thinking this is a Linux issue rather than a cfdisk issue.) Why is this, and why does it only happens sometimes, and what can I do to avoid it?
Note: Please assume that none of the partitions I am actually editing are opened, mounted or otherwise in use.
Update:
cfdisk uses ioctl(fd, BLKRRPART, NULL)
to tell Linux to reread the partition table. Two of the other tools recommended so far (hdparm -z
DEVICE
, sfdisk -R
DEVICE
) does exactly the same thing. The partprobe
DEVICE
command, on the other hand, seems to use a new ioctl called BLKPG, which might be better; I don't know. (It also falls back on BLKRRPART if BLKPG fails.)
BLKPG seems to be a "this partition has changed; here is the new size" operation, and it looked like partprobe
called it individually on all the partitions on the device passed, so it should work if the individual partitions are unused. However, I have not had the opportunity to try it.
partition fdisk linux
Sometimes, when resizing or otherwise mucking about with partitions on a disk, cfdisk will say:
Wrote partition table, but re-read table failed. Reboot to update table.
(This also happens with other partitioning tools, so I'm thinking this is a Linux issue rather than a cfdisk issue.) Why is this, and why does it only happens sometimes, and what can I do to avoid it?
Note: Please assume that none of the partitions I am actually editing are opened, mounted or otherwise in use.
Update:
cfdisk uses ioctl(fd, BLKRRPART, NULL)
to tell Linux to reread the partition table. Two of the other tools recommended so far (hdparm -z
DEVICE
, sfdisk -R
DEVICE
) does exactly the same thing. The partprobe
DEVICE
command, on the other hand, seems to use a new ioctl called BLKPG, which might be better; I don't know. (It also falls back on BLKRRPART if BLKPG fails.)
BLKPG seems to be a "this partition has changed; here is the new size" operation, and it looked like partprobe
called it individually on all the partitions on the device passed, so it should work if the individual partitions are unused. However, I have not had the opportunity to try it.
partition fdisk linux
partition fdisk linux
edited Jul 7 '09 at 12:49
Teddy
asked Jul 5 '09 at 12:10
TeddyTeddy
4,13411725
4,13411725
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
1
1
man sfdisk
says: Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
man sfdisk
says: Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
14 Answers
14
active
oldest
votes
IMHO the most reliable/best answer is
partprobe /dev/sdX
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around withkpartx
andudevadm trigger
for 10 minutes. Thank you!
– Mike Andrews
Apr 15 '16 at 14:14
|
show 2 more comments
Rereading partition table information doesn't always work, but try
hdparm -z /dev/sda
or
sfdisk -R /dev/sda
If it works the values in /proc/partitions will change.
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted thathdparm
command will only work if partitions are not mounted.
– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks likesfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1
– Charles Duffy
Jan 25 '16 at 16:21
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
On Centos7 :
According to https://access.redhat.com/solutions/199573
You should try :
partx -u <partition>
It worked for me.
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
add a comment |
Note: Please assume that none of the partitions I am actually editing
are opened, mounted or otherwise in use.
Given that assumption, the partition table can be successfully rescanned, and the issue won't arise. If you're getting that error, it's because the partition table is currently in use, and hence can't be re-scanned without creating inconsistencies.
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
add a comment |
It is not based on partition that you are editing.
Suppose you have only one harddisk (/dev/sda
) and two partitions (/dev/sda1
, /dev/sda2
) and you have mounted only one partition (/dev/sda1
). If you delete or change anything about other partition which is not even mounted (/dev/sda2
) you will get the error that re-reading of partition table failed and kernel will use old table.
But if you have two harddisks (/dev/sda
, /dev/sdb
) and none of the partitions of (/dev/sdb
) are in use. Then you can add / delete / resize /edit partitions of /dev/sdb
and they will be re-read without any problem. But even if one partition of /dev/sdb was mounted during change. Then kernel will keep using old table.
add a comment |
I (the original questioner) had a situation a few days ago when none of the other answers (including partprobe /dev/sdX
, currently the accepted and highest-voted answer) worked. What did work, however, was this:
blockdev --rereadpt /dev/sdX
(I don't know why this worked and the others didn't, but I'm happy it did work, as it saved me a reboot on a busy server.)
add a comment |
i'm on centos 6.5 x64 ; kernel 2.6.32 . and i'm testing the fdisk trick to resize.
/dev/sda1 /boot
/dev/sda2 /
All the following commands did not make kernel reread partition :
partprobe /dev/sda (warning : kernel failed to reread ....)
hdparm -z /dev/sda (BLKRRPART failed : device or resource busy)
blockdev -rereadpt /dev/sda (BLKRRPART failed : device or resource busy)
sfdisk -R /dev/sda (BLKRRPART failed : device or resource busy)
i still need a reboot to make it work
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
add a comment |
With all mount points unmounted, running Yocto 2.4:
partprobe /dev/sda
Still failed to re-load the partition table after partitions had been deleted on the device. Also tried -- and failed were:
udevadm trigger --subsystem-match=block; udevadm settle
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
All reported similar "BLKRRPART failed : device or resource busy..." errors instructing me to reboot. Is this failure of previously working methods possibly due to the fact that udev is now under systemd control? Thinking along those lines I tried:
systemctl restart systemd-udevd.service
And suddenly my disk is available again, without a reboot!
The top accepted answer is incomplete: in the modernsystemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both)systemd-udev-settle
andsystemd-udev-trigger
. Restarting justsystemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!
– Costin Gușă
Feb 5 at 18:03
add a comment |
You can also try:
echo 1 > /sys/block/sdX/device/rescan
(But won't work, see the comment below)
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
add a comment |
kpartx -a <partition>
can be run two times on newly created partition .... instead of rebooting the system.
2
Two times? Do you also run “sync; sync; sync
”? ☺ I smell superstition…
– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
add a comment |
Remember to check udev service is running. This is especially useful when partprobe, hdparm, blockdev, and various other commands do not seem to make any difference what device files are available in /dev/ directory.
add a comment |
For me neither partprobe
or blockdev
solution worked. Although, this one works:
udevadm settle --exit-if-exists=/dev/sdb1
New contributor
add a comment |
When a command like blockdev --rereadpt /dev/sdX
fails with
blockdev: ioctl error on BLKRRPART: Device or resource busy
this usually means that some (old) partition is indeed still somehow used by the kernel.
Possible causes/fixes:
- an sdX partition - say
sdX1
- is still mounted - check withmount
and umount it
/dev/sdX1
is part of a software raid - checkcat /proc/mdstat
and possibly stop the relevant arrays, e.g.mdadm --stop /dev/md126
/dev/sdX1
is part of an LVM physical volume - check withpvdisplay
/vgdisplay
and possibly deactivate withvgchange
/dev/sdX1
is part of some device mapping - e.g. viacryptsetup
- check/dev/mapper
andlsblk
and possibly remove the mapping (e.g.cryptsetup luksClose
)- Race condition with some udev probing - check running processes with
ps
and possibly kill one
If one tool - say blockdev --rereadpt
fails usually similar ones like (partx -uv
, kpartx
, partprobe
, kpartprobe
) fail in a similar way until the root cause is eliminated.
add a comment |
If you read the manpage for 'man oracleasm-scandisks' you will note the text below. oracleasm is using /proc/partitions as the source of all scanning it performs. You must get your raw devices listed in /proc/partitions before you can do a scandisk. The Scanorder and Scanexclude parameters you place in /etc/sysconfig/oracleasm relate to the names found in /proc/partitions (!!!!).
---------- man oracleasm-scandisks ------
...
HOW SCANNING HAPPENS
The scan proceeds in four basic stages.
First, the list of disks to scan is created. If disks were specified on the command line, this is the list.
If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options.
Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any
disks that no longer exist are dropped.
Third, the list of disks is recreated based on the new partition tables.
Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are
instantiated.
2
...he's mentioned nothing about usingoracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "2"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f36038%2freread-partition-table-without-rebooting%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
14 Answers
14
active
oldest
votes
14 Answers
14
active
oldest
votes
active
oldest
votes
active
oldest
votes
IMHO the most reliable/best answer is
partprobe /dev/sdX
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around withkpartx
andudevadm trigger
for 10 minutes. Thank you!
– Mike Andrews
Apr 15 '16 at 14:14
|
show 2 more comments
IMHO the most reliable/best answer is
partprobe /dev/sdX
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around withkpartx
andudevadm trigger
for 10 minutes. Thank you!
– Mike Andrews
Apr 15 '16 at 14:14
|
show 2 more comments
IMHO the most reliable/best answer is
partprobe /dev/sdX
IMHO the most reliable/best answer is
partprobe /dev/sdX
answered Jul 5 '09 at 12:44
knweissknweiss
3,4651820
3,4651820
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around withkpartx
andudevadm trigger
for 10 minutes. Thank you!
– Mike Andrews
Apr 15 '16 at 14:14
|
show 2 more comments
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around withkpartx
andudevadm trigger
for 10 minutes. Thank you!
– Mike Andrews
Apr 15 '16 at 14:14
1
1
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
I just expanded a dev under Ubuntu Server, this dev is a hardware raid. After expanding the underlying raid using the raidcontroller, I dismounted the filesystem and tried "partprobe /dev/sda" - this did not work. "fdisk -l" still showed the old size. I then ran "hdparm -z /dev/sda" and this did the trick. I could then mount and resize my filesystem with no reboot. I know I'm not adding anything really other than YMMV.
– Mwuanno
May 28 '14 at 13:30
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
i'm on centos 6.5 ; kernel 2.6.32 . all the following commands did not make kernel reread partition : - partprobe /dev/sda (warnikg : kernel failed to reread)
– Max
May 29 '15 at 7:56
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
@Max, I've also noticed that sometimes even partprobe prints out an error that it didn't work. Sometimes a reboot is the only option to be certain. Many times it does seem to work for me though.
– Matt
Oct 1 '15 at 3:38
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This did not work for me because there were some directories still mounted with --bind. The partition itself was already unmounted but the bind-mounts pointing to that partition were still there. Strange that umount worked and partprobe not, but after umounting the bind-mounts too, I could also partprobe the disk.
– Ethan Leroy
Nov 23 '15 at 19:32
This worked for me on CentOS 6 after flagellating around with
kpartx
and udevadm trigger
for 10 minutes. Thank you!– Mike Andrews
Apr 15 '16 at 14:14
This worked for me on CentOS 6 after flagellating around with
kpartx
and udevadm trigger
for 10 minutes. Thank you!– Mike Andrews
Apr 15 '16 at 14:14
|
show 2 more comments
Rereading partition table information doesn't always work, but try
hdparm -z /dev/sda
or
sfdisk -R /dev/sda
If it works the values in /proc/partitions will change.
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted thathdparm
command will only work if partitions are not mounted.
– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks likesfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1
– Charles Duffy
Jan 25 '16 at 16:21
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
Rereading partition table information doesn't always work, but try
hdparm -z /dev/sda
or
sfdisk -R /dev/sda
If it works the values in /proc/partitions will change.
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted thathdparm
command will only work if partitions are not mounted.
– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks likesfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1
– Charles Duffy
Jan 25 '16 at 16:21
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
Rereading partition table information doesn't always work, but try
hdparm -z /dev/sda
or
sfdisk -R /dev/sda
If it works the values in /proc/partitions will change.
Rereading partition table information doesn't always work, but try
hdparm -z /dev/sda
or
sfdisk -R /dev/sda
If it works the values in /proc/partitions will change.
answered Jul 5 '09 at 12:13
ko-dosko-dos
1,29989
1,29989
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted thathdparm
command will only work if partitions are not mounted.
– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks likesfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1
– Charles Duffy
Jan 25 '16 at 16:21
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted thathdparm
command will only work if partitions are not mounted.
– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks likesfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1
– Charles Duffy
Jan 25 '16 at 16:21
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
hdparm worked for me.
– Prof. Falken
Jun 9 '11 at 22:03
3
3
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
the sfdisk -R option doesn't exist.
– Matt
May 19 '15 at 0:09
It should be noted that
hdparm
command will only work if partitions are not mounted.– hayavuk
Nov 16 '15 at 23:45
It should be noted that
hdparm
command will only work if partitions are not mounted.– hayavuk
Nov 16 '15 at 23:45
...indeed, it looks like
sfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1– Charles Duffy
Jan 25 '16 at 16:21
...indeed, it looks like
sfdisk -R
was removed somewhere between util-linux 2.24.2 and 2.26.1– Charles Duffy
Jan 25 '16 at 16:21
1
1
man sfdisk
says: Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
man sfdisk
says: Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26
add a comment |
On Centos7 :
According to https://access.redhat.com/solutions/199573
You should try :
partx -u <partition>
It worked for me.
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
add a comment |
On Centos7 :
According to https://access.redhat.com/solutions/199573
You should try :
partx -u <partition>
It worked for me.
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
add a comment |
On Centos7 :
According to https://access.redhat.com/solutions/199573
You should try :
partx -u <partition>
It worked for me.
On Centos7 :
According to https://access.redhat.com/solutions/199573
You should try :
partx -u <partition>
It worked for me.
answered Sep 15 '15 at 9:33
uusuus
10113
10113
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
add a comment |
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
1
1
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
That was the only one that work for me. Thank you so much for sharing!! Top of the day to you, sir!
– NotGaeL
Apr 8 '16 at 18:36
add a comment |
Note: Please assume that none of the partitions I am actually editing
are opened, mounted or otherwise in use.
Given that assumption, the partition table can be successfully rescanned, and the issue won't arise. If you're getting that error, it's because the partition table is currently in use, and hence can't be re-scanned without creating inconsistencies.
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
add a comment |
Note: Please assume that none of the partitions I am actually editing
are opened, mounted or otherwise in use.
Given that assumption, the partition table can be successfully rescanned, and the issue won't arise. If you're getting that error, it's because the partition table is currently in use, and hence can't be re-scanned without creating inconsistencies.
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
add a comment |
Note: Please assume that none of the partitions I am actually editing
are opened, mounted or otherwise in use.
Given that assumption, the partition table can be successfully rescanned, and the issue won't arise. If you're getting that error, it's because the partition table is currently in use, and hence can't be re-scanned without creating inconsistencies.
Note: Please assume that none of the partitions I am actually editing
are opened, mounted or otherwise in use.
Given that assumption, the partition table can be successfully rescanned, and the issue won't arise. If you're getting that error, it's because the partition table is currently in use, and hence can't be re-scanned without creating inconsistencies.
edited Oct 1 '15 at 2:46
JakeGould
3,2141836
3,2141836
answered Jul 5 '09 at 12:32
womble♦womble
85.7k18144204
85.7k18144204
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
add a comment |
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
Some partitions might be in use, but none of them are the ones that I am actually changing, though they might be in the same partition table.
– Teddy
Jul 11 '09 at 1:22
8
8
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
The kernel isn't that smart. If any partition in the table is in use, the kernel doesn't rescan. Getting that wrong in the other direction could be catastrophic, so it's being safe. If you want to stuff around with partitions at will, use LVM.
– womble♦
Jul 11 '09 at 2:05
add a comment |
It is not based on partition that you are editing.
Suppose you have only one harddisk (/dev/sda
) and two partitions (/dev/sda1
, /dev/sda2
) and you have mounted only one partition (/dev/sda1
). If you delete or change anything about other partition which is not even mounted (/dev/sda2
) you will get the error that re-reading of partition table failed and kernel will use old table.
But if you have two harddisks (/dev/sda
, /dev/sdb
) and none of the partitions of (/dev/sdb
) are in use. Then you can add / delete / resize /edit partitions of /dev/sdb
and they will be re-read without any problem. But even if one partition of /dev/sdb was mounted during change. Then kernel will keep using old table.
add a comment |
It is not based on partition that you are editing.
Suppose you have only one harddisk (/dev/sda
) and two partitions (/dev/sda1
, /dev/sda2
) and you have mounted only one partition (/dev/sda1
). If you delete or change anything about other partition which is not even mounted (/dev/sda2
) you will get the error that re-reading of partition table failed and kernel will use old table.
But if you have two harddisks (/dev/sda
, /dev/sdb
) and none of the partitions of (/dev/sdb
) are in use. Then you can add / delete / resize /edit partitions of /dev/sdb
and they will be re-read without any problem. But even if one partition of /dev/sdb was mounted during change. Then kernel will keep using old table.
add a comment |
It is not based on partition that you are editing.
Suppose you have only one harddisk (/dev/sda
) and two partitions (/dev/sda1
, /dev/sda2
) and you have mounted only one partition (/dev/sda1
). If you delete or change anything about other partition which is not even mounted (/dev/sda2
) you will get the error that re-reading of partition table failed and kernel will use old table.
But if you have two harddisks (/dev/sda
, /dev/sdb
) and none of the partitions of (/dev/sdb
) are in use. Then you can add / delete / resize /edit partitions of /dev/sdb
and they will be re-read without any problem. But even if one partition of /dev/sdb was mounted during change. Then kernel will keep using old table.
It is not based on partition that you are editing.
Suppose you have only one harddisk (/dev/sda
) and two partitions (/dev/sda1
, /dev/sda2
) and you have mounted only one partition (/dev/sda1
). If you delete or change anything about other partition which is not even mounted (/dev/sda2
) you will get the error that re-reading of partition table failed and kernel will use old table.
But if you have two harddisks (/dev/sda
, /dev/sdb
) and none of the partitions of (/dev/sdb
) are in use. Then you can add / delete / resize /edit partitions of /dev/sdb
and they will be re-read without any problem. But even if one partition of /dev/sdb was mounted during change. Then kernel will keep using old table.
edited Oct 1 '15 at 2:46
JakeGould
3,2141836
3,2141836
answered Jul 5 '09 at 16:39
Saurabh BarjatiyaSaurabh Barjatiya
4,05712331
4,05712331
add a comment |
add a comment |
I (the original questioner) had a situation a few days ago when none of the other answers (including partprobe /dev/sdX
, currently the accepted and highest-voted answer) worked. What did work, however, was this:
blockdev --rereadpt /dev/sdX
(I don't know why this worked and the others didn't, but I'm happy it did work, as it saved me a reboot on a busy server.)
add a comment |
I (the original questioner) had a situation a few days ago when none of the other answers (including partprobe /dev/sdX
, currently the accepted and highest-voted answer) worked. What did work, however, was this:
blockdev --rereadpt /dev/sdX
(I don't know why this worked and the others didn't, but I'm happy it did work, as it saved me a reboot on a busy server.)
add a comment |
I (the original questioner) had a situation a few days ago when none of the other answers (including partprobe /dev/sdX
, currently the accepted and highest-voted answer) worked. What did work, however, was this:
blockdev --rereadpt /dev/sdX
(I don't know why this worked and the others didn't, but I'm happy it did work, as it saved me a reboot on a busy server.)
I (the original questioner) had a situation a few days ago when none of the other answers (including partprobe /dev/sdX
, currently the accepted and highest-voted answer) worked. What did work, however, was this:
blockdev --rereadpt /dev/sdX
(I don't know why this worked and the others didn't, but I'm happy it did work, as it saved me a reboot on a busy server.)
answered Aug 28 '13 at 19:15
TeddyTeddy
4,13411725
4,13411725
add a comment |
add a comment |
i'm on centos 6.5 x64 ; kernel 2.6.32 . and i'm testing the fdisk trick to resize.
/dev/sda1 /boot
/dev/sda2 /
All the following commands did not make kernel reread partition :
partprobe /dev/sda (warning : kernel failed to reread ....)
hdparm -z /dev/sda (BLKRRPART failed : device or resource busy)
blockdev -rereadpt /dev/sda (BLKRRPART failed : device or resource busy)
sfdisk -R /dev/sda (BLKRRPART failed : device or resource busy)
i still need a reboot to make it work
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
add a comment |
i'm on centos 6.5 x64 ; kernel 2.6.32 . and i'm testing the fdisk trick to resize.
/dev/sda1 /boot
/dev/sda2 /
All the following commands did not make kernel reread partition :
partprobe /dev/sda (warning : kernel failed to reread ....)
hdparm -z /dev/sda (BLKRRPART failed : device or resource busy)
blockdev -rereadpt /dev/sda (BLKRRPART failed : device or resource busy)
sfdisk -R /dev/sda (BLKRRPART failed : device or resource busy)
i still need a reboot to make it work
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
add a comment |
i'm on centos 6.5 x64 ; kernel 2.6.32 . and i'm testing the fdisk trick to resize.
/dev/sda1 /boot
/dev/sda2 /
All the following commands did not make kernel reread partition :
partprobe /dev/sda (warning : kernel failed to reread ....)
hdparm -z /dev/sda (BLKRRPART failed : device or resource busy)
blockdev -rereadpt /dev/sda (BLKRRPART failed : device or resource busy)
sfdisk -R /dev/sda (BLKRRPART failed : device or resource busy)
i still need a reboot to make it work
i'm on centos 6.5 x64 ; kernel 2.6.32 . and i'm testing the fdisk trick to resize.
/dev/sda1 /boot
/dev/sda2 /
All the following commands did not make kernel reread partition :
partprobe /dev/sda (warning : kernel failed to reread ....)
hdparm -z /dev/sda (BLKRRPART failed : device or resource busy)
blockdev -rereadpt /dev/sda (BLKRRPART failed : device or resource busy)
sfdisk -R /dev/sda (BLKRRPART failed : device or resource busy)
i still need a reboot to make it work
answered May 29 '15 at 8:07
MaxMax
45447
45447
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
add a comment |
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
none of that worked for me either (proxmox VM, centos 7, xfs partition, no lvm). @uus answer did work, though: serverfault.com/a/722386/102252
– NotGaeL
Apr 8 '16 at 18:37
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
All the above commands did not work for me either.
– Fadi Asbih
Mar 15 '17 at 10:59
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I think kernel 2.6.32 has issue, I used these before on other machines, it worked just fine, even when adding partitions with higher numbers between older partitions. i.e. sdb1 sdb2 sdb3 - delete sdb2 , then sdb1 sdb4 sdb5 sdb3. In addition to above, partx, kpartx, blockdev didn't work as well.
– sdkks
Jun 30 '17 at 13:45
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
I don't think that it's unusual that if one command fails rereading the partitions, all fail - see also my answer for how to eliminate some causes for this.
– maxschlepzig
Nov 17 '18 at 20:58
add a comment |
With all mount points unmounted, running Yocto 2.4:
partprobe /dev/sda
Still failed to re-load the partition table after partitions had been deleted on the device. Also tried -- and failed were:
udevadm trigger --subsystem-match=block; udevadm settle
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
All reported similar "BLKRRPART failed : device or resource busy..." errors instructing me to reboot. Is this failure of previously working methods possibly due to the fact that udev is now under systemd control? Thinking along those lines I tried:
systemctl restart systemd-udevd.service
And suddenly my disk is available again, without a reboot!
The top accepted answer is incomplete: in the modernsystemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both)systemd-udev-settle
andsystemd-udev-trigger
. Restarting justsystemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!
– Costin Gușă
Feb 5 at 18:03
add a comment |
With all mount points unmounted, running Yocto 2.4:
partprobe /dev/sda
Still failed to re-load the partition table after partitions had been deleted on the device. Also tried -- and failed were:
udevadm trigger --subsystem-match=block; udevadm settle
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
All reported similar "BLKRRPART failed : device or resource busy..." errors instructing me to reboot. Is this failure of previously working methods possibly due to the fact that udev is now under systemd control? Thinking along those lines I tried:
systemctl restart systemd-udevd.service
And suddenly my disk is available again, without a reboot!
The top accepted answer is incomplete: in the modernsystemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both)systemd-udev-settle
andsystemd-udev-trigger
. Restarting justsystemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!
– Costin Gușă
Feb 5 at 18:03
add a comment |
With all mount points unmounted, running Yocto 2.4:
partprobe /dev/sda
Still failed to re-load the partition table after partitions had been deleted on the device. Also tried -- and failed were:
udevadm trigger --subsystem-match=block; udevadm settle
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
All reported similar "BLKRRPART failed : device or resource busy..." errors instructing me to reboot. Is this failure of previously working methods possibly due to the fact that udev is now under systemd control? Thinking along those lines I tried:
systemctl restart systemd-udevd.service
And suddenly my disk is available again, without a reboot!
With all mount points unmounted, running Yocto 2.4:
partprobe /dev/sda
Still failed to re-load the partition table after partitions had been deleted on the device. Also tried -- and failed were:
udevadm trigger --subsystem-match=block; udevadm settle
hdparm -z /dev/sda
blockdev --rereadpt /dev/sda
All reported similar "BLKRRPART failed : device or resource busy..." errors instructing me to reboot. Is this failure of previously working methods possibly due to the fact that udev is now under systemd control? Thinking along those lines I tried:
systemctl restart systemd-udevd.service
And suddenly my disk is available again, without a reboot!
answered Dec 7 '18 at 0:38
Camp Waub-O-JeegCamp Waub-O-Jeeg
212
212
The top accepted answer is incomplete: in the modernsystemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both)systemd-udev-settle
andsystemd-udev-trigger
. Restarting justsystemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!
– Costin Gușă
Feb 5 at 18:03
add a comment |
The top accepted answer is incomplete: in the modernsystemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both)systemd-udev-settle
andsystemd-udev-trigger
. Restarting justsystemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!
– Costin Gușă
Feb 5 at 18:03
The top accepted answer is incomplete: in the modern
systemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both) systemd-udev-settle
and systemd-udev-trigger
. Restarting just systemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!– Costin Gușă
Feb 5 at 18:03
The top accepted answer is incomplete: in the modern
systemd
world, THIS is the correct answer. Please note you also need to restart one of those (or both) systemd-udev-settle
and systemd-udev-trigger
. Restarting just systemd-udevd
like Camp said was not enough for me. But restarting also the other two did the trick!– Costin Gușă
Feb 5 at 18:03
add a comment |
You can also try:
echo 1 > /sys/block/sdX/device/rescan
(But won't work, see the comment below)
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
add a comment |
You can also try:
echo 1 > /sys/block/sdX/device/rescan
(But won't work, see the comment below)
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
add a comment |
You can also try:
echo 1 > /sys/block/sdX/device/rescan
(But won't work, see the comment below)
You can also try:
echo 1 > /sys/block/sdX/device/rescan
(But won't work, see the comment below)
edited Jul 22 '12 at 14:07
answered Dec 29 '10 at 19:11
bogdanobogdano
1173
1173
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
add a comment |
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
3
3
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
This does not reread the partition table. It just updates the geometry information, cache mode, etc. SCSI IDENTIFY_DRIVE is being issued.
– Dmitri Chubarov
Jun 9 '12 at 8:27
add a comment |
kpartx -a <partition>
can be run two times on newly created partition .... instead of rebooting the system.
2
Two times? Do you also run “sync; sync; sync
”? ☺ I smell superstition…
– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
add a comment |
kpartx -a <partition>
can be run two times on newly created partition .... instead of rebooting the system.
2
Two times? Do you also run “sync; sync; sync
”? ☺ I smell superstition…
– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
add a comment |
kpartx -a <partition>
can be run two times on newly created partition .... instead of rebooting the system.
kpartx -a <partition>
can be run two times on newly created partition .... instead of rebooting the system.
edited Mar 3 '15 at 21:09
HBruijn
56.1k1190150
56.1k1190150
answered Mar 3 '15 at 19:08
Kailas KadamKailas Kadam
114
114
2
Two times? Do you also run “sync; sync; sync
”? ☺ I smell superstition…
– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
add a comment |
2
Two times? Do you also run “sync; sync; sync
”? ☺ I smell superstition…
– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
2
2
Two times? Do you also run “
sync; sync; sync
”? ☺ I smell superstition…– Teddy
Mar 12 '15 at 13:04
Two times? Do you also run “
sync; sync; sync
”? ☺ I smell superstition…– Teddy
Mar 12 '15 at 13:04
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
I think this superstition came from the fact that you check if your sync, by doing a second sync. Except that the second one is only valuable for the operator, to confirm it returns to prompt immediately, thus indicating the first sync completed as expected. a few blogs and tutorials later, and ....
– J. M. Becker
Oct 5 '15 at 13:59
add a comment |
Remember to check udev service is running. This is especially useful when partprobe, hdparm, blockdev, and various other commands do not seem to make any difference what device files are available in /dev/ directory.
add a comment |
Remember to check udev service is running. This is especially useful when partprobe, hdparm, blockdev, and various other commands do not seem to make any difference what device files are available in /dev/ directory.
add a comment |
Remember to check udev service is running. This is especially useful when partprobe, hdparm, blockdev, and various other commands do not seem to make any difference what device files are available in /dev/ directory.
Remember to check udev service is running. This is especially useful when partprobe, hdparm, blockdev, and various other commands do not seem to make any difference what device files are available in /dev/ directory.
answered Dec 19 '17 at 21:12
kerolasakerolasa
1211
1211
add a comment |
add a comment |
For me neither partprobe
or blockdev
solution worked. Although, this one works:
udevadm settle --exit-if-exists=/dev/sdb1
New contributor
add a comment |
For me neither partprobe
or blockdev
solution worked. Although, this one works:
udevadm settle --exit-if-exists=/dev/sdb1
New contributor
add a comment |
For me neither partprobe
or blockdev
solution worked. Although, this one works:
udevadm settle --exit-if-exists=/dev/sdb1
New contributor
For me neither partprobe
or blockdev
solution worked. Although, this one works:
udevadm settle --exit-if-exists=/dev/sdb1
New contributor
New contributor
answered 5 mins ago
SibiSibi
1012
1012
New contributor
New contributor
add a comment |
add a comment |
When a command like blockdev --rereadpt /dev/sdX
fails with
blockdev: ioctl error on BLKRRPART: Device or resource busy
this usually means that some (old) partition is indeed still somehow used by the kernel.
Possible causes/fixes:
- an sdX partition - say
sdX1
- is still mounted - check withmount
and umount it
/dev/sdX1
is part of a software raid - checkcat /proc/mdstat
and possibly stop the relevant arrays, e.g.mdadm --stop /dev/md126
/dev/sdX1
is part of an LVM physical volume - check withpvdisplay
/vgdisplay
and possibly deactivate withvgchange
/dev/sdX1
is part of some device mapping - e.g. viacryptsetup
- check/dev/mapper
andlsblk
and possibly remove the mapping (e.g.cryptsetup luksClose
)- Race condition with some udev probing - check running processes with
ps
and possibly kill one
If one tool - say blockdev --rereadpt
fails usually similar ones like (partx -uv
, kpartx
, partprobe
, kpartprobe
) fail in a similar way until the root cause is eliminated.
add a comment |
When a command like blockdev --rereadpt /dev/sdX
fails with
blockdev: ioctl error on BLKRRPART: Device or resource busy
this usually means that some (old) partition is indeed still somehow used by the kernel.
Possible causes/fixes:
- an sdX partition - say
sdX1
- is still mounted - check withmount
and umount it
/dev/sdX1
is part of a software raid - checkcat /proc/mdstat
and possibly stop the relevant arrays, e.g.mdadm --stop /dev/md126
/dev/sdX1
is part of an LVM physical volume - check withpvdisplay
/vgdisplay
and possibly deactivate withvgchange
/dev/sdX1
is part of some device mapping - e.g. viacryptsetup
- check/dev/mapper
andlsblk
and possibly remove the mapping (e.g.cryptsetup luksClose
)- Race condition with some udev probing - check running processes with
ps
and possibly kill one
If one tool - say blockdev --rereadpt
fails usually similar ones like (partx -uv
, kpartx
, partprobe
, kpartprobe
) fail in a similar way until the root cause is eliminated.
add a comment |
When a command like blockdev --rereadpt /dev/sdX
fails with
blockdev: ioctl error on BLKRRPART: Device or resource busy
this usually means that some (old) partition is indeed still somehow used by the kernel.
Possible causes/fixes:
- an sdX partition - say
sdX1
- is still mounted - check withmount
and umount it
/dev/sdX1
is part of a software raid - checkcat /proc/mdstat
and possibly stop the relevant arrays, e.g.mdadm --stop /dev/md126
/dev/sdX1
is part of an LVM physical volume - check withpvdisplay
/vgdisplay
and possibly deactivate withvgchange
/dev/sdX1
is part of some device mapping - e.g. viacryptsetup
- check/dev/mapper
andlsblk
and possibly remove the mapping (e.g.cryptsetup luksClose
)- Race condition with some udev probing - check running processes with
ps
and possibly kill one
If one tool - say blockdev --rereadpt
fails usually similar ones like (partx -uv
, kpartx
, partprobe
, kpartprobe
) fail in a similar way until the root cause is eliminated.
When a command like blockdev --rereadpt /dev/sdX
fails with
blockdev: ioctl error on BLKRRPART: Device or resource busy
this usually means that some (old) partition is indeed still somehow used by the kernel.
Possible causes/fixes:
- an sdX partition - say
sdX1
- is still mounted - check withmount
and umount it
/dev/sdX1
is part of a software raid - checkcat /proc/mdstat
and possibly stop the relevant arrays, e.g.mdadm --stop /dev/md126
/dev/sdX1
is part of an LVM physical volume - check withpvdisplay
/vgdisplay
and possibly deactivate withvgchange
/dev/sdX1
is part of some device mapping - e.g. viacryptsetup
- check/dev/mapper
andlsblk
and possibly remove the mapping (e.g.cryptsetup luksClose
)- Race condition with some udev probing - check running processes with
ps
and possibly kill one
If one tool - say blockdev --rereadpt
fails usually similar ones like (partx -uv
, kpartx
, partprobe
, kpartprobe
) fail in a similar way until the root cause is eliminated.
edited Nov 17 '18 at 21:02
answered Nov 17 '18 at 20:55
maxschlepzigmaxschlepzig
1968
1968
add a comment |
add a comment |
If you read the manpage for 'man oracleasm-scandisks' you will note the text below. oracleasm is using /proc/partitions as the source of all scanning it performs. You must get your raw devices listed in /proc/partitions before you can do a scandisk. The Scanorder and Scanexclude parameters you place in /etc/sysconfig/oracleasm relate to the names found in /proc/partitions (!!!!).
---------- man oracleasm-scandisks ------
...
HOW SCANNING HAPPENS
The scan proceeds in four basic stages.
First, the list of disks to scan is created. If disks were specified on the command line, this is the list.
If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options.
Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any
disks that no longer exist are dropped.
Third, the list of disks is recreated based on the new partition tables.
Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are
instantiated.
2
...he's mentioned nothing about usingoracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
add a comment |
If you read the manpage for 'man oracleasm-scandisks' you will note the text below. oracleasm is using /proc/partitions as the source of all scanning it performs. You must get your raw devices listed in /proc/partitions before you can do a scandisk. The Scanorder and Scanexclude parameters you place in /etc/sysconfig/oracleasm relate to the names found in /proc/partitions (!!!!).
---------- man oracleasm-scandisks ------
...
HOW SCANNING HAPPENS
The scan proceeds in four basic stages.
First, the list of disks to scan is created. If disks were specified on the command line, this is the list.
If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options.
Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any
disks that no longer exist are dropped.
Third, the list of disks is recreated based on the new partition tables.
Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are
instantiated.
2
...he's mentioned nothing about usingoracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
add a comment |
If you read the manpage for 'man oracleasm-scandisks' you will note the text below. oracleasm is using /proc/partitions as the source of all scanning it performs. You must get your raw devices listed in /proc/partitions before you can do a scandisk. The Scanorder and Scanexclude parameters you place in /etc/sysconfig/oracleasm relate to the names found in /proc/partitions (!!!!).
---------- man oracleasm-scandisks ------
...
HOW SCANNING HAPPENS
The scan proceeds in four basic stages.
First, the list of disks to scan is created. If disks were specified on the command line, this is the list.
If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options.
Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any
disks that no longer exist are dropped.
Third, the list of disks is recreated based on the new partition tables.
Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are
instantiated.
If you read the manpage for 'man oracleasm-scandisks' you will note the text below. oracleasm is using /proc/partitions as the source of all scanning it performs. You must get your raw devices listed in /proc/partitions before you can do a scandisk. The Scanorder and Scanexclude parameters you place in /etc/sysconfig/oracleasm relate to the names found in /proc/partitions (!!!!).
---------- man oracleasm-scandisks ------
...
HOW SCANNING HAPPENS
The scan proceeds in four basic stages.
First, the list of disks to scan is created. If disks were specified on the command line, this is the list.
If not, /proc/partitions is read, and each block device is added, subject to the -o and -x options.
Second, the partition tables of each disk in the scan are reloaded unless the -s option was specified. Any
disks that no longer exist are dropped.
Third, the list of disks is recreated based on the new partition tables.
Finally, each disk in the list is checked to see if it is marked for ASM use. Disks that are marked are
instantiated.
answered Apr 26 '13 at 16:58
user168717user168717
42942
42942
2
...he's mentioned nothing about usingoracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
add a comment |
2
...he's mentioned nothing about usingoracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
2
2
...he's mentioned nothing about using
oracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
...he's mentioned nothing about using
oracleasm-scandisks
– voretaq7
Apr 26 '13 at 17:45
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f36038%2freread-partition-table-without-rebooting%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
man sfdisk
says:Since version 2.26 sfdisk no longer provides the -R or --re-read option to force the kernel to reread the partition table. Use blockdev --rereadpt instead.
– Tom Hale
Jan 18 '17 at 2:26