1*cf5a6c84SAndroid Build Coastguard Worker /* fsfreeze.c - freeze or thaw filesystem 2*cf5a6c84SAndroid Build Coastguard Worker * 3*cf5a6c84SAndroid Build Coastguard Worker * No standard. 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Worker USE_FSFREEZE(NEWTOY(fsfreeze, "<1>1f|u|[!fu]", TOYFLAG_USR|TOYFLAG_SBIN)) 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Worker config FSFREEZE 8*cf5a6c84SAndroid Build Coastguard Worker bool "fsfreeze" 9*cf5a6c84SAndroid Build Coastguard Worker default y 10*cf5a6c84SAndroid Build Coastguard Worker help 11*cf5a6c84SAndroid Build Coastguard Worker usage: fsfreeze {-f | -u} MOUNTPOINT 12*cf5a6c84SAndroid Build Coastguard Worker 13*cf5a6c84SAndroid Build Coastguard Worker Freeze or unfreeze a filesystem. 14*cf5a6c84SAndroid Build Coastguard Worker 15*cf5a6c84SAndroid Build Coastguard Worker -f Freeze 16*cf5a6c84SAndroid Build Coastguard Worker -u Unfreeze 17*cf5a6c84SAndroid Build Coastguard Worker */ 18*cf5a6c84SAndroid Build Coastguard Worker 19*cf5a6c84SAndroid Build Coastguard Worker #define FOR_fsfreeze 20*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h" 21*cf5a6c84SAndroid Build Coastguard Worker #include <linux/fs.h> 22*cf5a6c84SAndroid Build Coastguard Worker fsfreeze_main(void)23*cf5a6c84SAndroid Build Coastguard Workervoid fsfreeze_main(void) 24*cf5a6c84SAndroid Build Coastguard Worker { 25*cf5a6c84SAndroid Build Coastguard Worker int fd = xopenro(*toys.optargs); 26*cf5a6c84SAndroid Build Coastguard Worker long p = 1; 27*cf5a6c84SAndroid Build Coastguard Worker 28*cf5a6c84SAndroid Build Coastguard Worker xioctl(fd, FLAG(f) ? FIFREEZE : FITHAW, &p); 29*cf5a6c84SAndroid Build Coastguard Worker xclose(fd); 30*cf5a6c84SAndroid Build Coastguard Worker } 31