xref: /aosp_15_r20/external/toybox/toys/other/partprobe.c (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker /* partprobe.c - Tell the kernel about partition table changes
2*cf5a6c84SAndroid Build Coastguard Worker  *
3*cf5a6c84SAndroid Build Coastguard Worker  * Copyright 2014 Bertold Van den Bergh <[email protected]>
4*cf5a6c84SAndroid Build Coastguard Worker  *
5*cf5a6c84SAndroid Build Coastguard Worker  * see http://man7.org/linux/man-pages/man8/partprobe.8.html
6*cf5a6c84SAndroid Build Coastguard Worker 
7*cf5a6c84SAndroid Build Coastguard Worker USE_PARTPROBE(NEWTOY(partprobe, "<1", TOYFLAG_SBIN))
8*cf5a6c84SAndroid Build Coastguard Worker 
9*cf5a6c84SAndroid Build Coastguard Worker config PARTPROBE
10*cf5a6c84SAndroid Build Coastguard Worker   bool "partprobe"
11*cf5a6c84SAndroid Build Coastguard Worker   default y
12*cf5a6c84SAndroid Build Coastguard Worker   help
13*cf5a6c84SAndroid Build Coastguard Worker     usage: partprobe DEVICE...
14*cf5a6c84SAndroid Build Coastguard Worker 
15*cf5a6c84SAndroid Build Coastguard Worker     Tell the kernel about partition table changes
16*cf5a6c84SAndroid Build Coastguard Worker 
17*cf5a6c84SAndroid Build Coastguard Worker     Ask the kernel to re-read the partition table on the specified devices.
18*cf5a6c84SAndroid Build Coastguard Worker */
19*cf5a6c84SAndroid Build Coastguard Worker 
20*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h"
21*cf5a6c84SAndroid Build Coastguard Worker 
do_partprobe(int fd,char * name)22*cf5a6c84SAndroid Build Coastguard Worker static void do_partprobe(int fd, char *name)
23*cf5a6c84SAndroid Build Coastguard Worker {
24*cf5a6c84SAndroid Build Coastguard Worker   if (ioctl(fd, BLKRRPART, 0)) perror_msg("ioctl failed");
25*cf5a6c84SAndroid Build Coastguard Worker }
26*cf5a6c84SAndroid Build Coastguard Worker 
partprobe_main(void)27*cf5a6c84SAndroid Build Coastguard Worker void partprobe_main(void)
28*cf5a6c84SAndroid Build Coastguard Worker {
29*cf5a6c84SAndroid Build Coastguard Worker   loopfiles(toys.optargs, do_partprobe);
30*cf5a6c84SAndroid Build Coastguard Worker }
31