Don't sync before exiting drivers.
Wipe inodes of pipes in truncate_inode(), to avoid the size remaining at PIPE_SIZE causing pipes to break.
This commit is contained in:
parent
88ba4b5268
commit
b9bdbcba1b
@ -404,6 +404,7 @@ off_t newsize; /* inode must become this size */
|
|||||||
|
|
||||||
/* Next correct the inode size. */
|
/* Next correct the inode size. */
|
||||||
if(!waspipe) rip->i_size = newsize;
|
if(!waspipe) rip->i_size = newsize;
|
||||||
|
else wipe_inode(rip); /* Pipes can only be truncated to 0. */
|
||||||
rip->i_dirt = DIRTY;
|
rip->i_dirt = DIRTY;
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
|
|||||||
@ -258,9 +258,6 @@ PUBLIC int do_reboot()
|
|||||||
/* Only PM may make this call directly. */
|
/* Only PM may make this call directly. */
|
||||||
if (who != PM_PROC_NR) return(EGENERIC);
|
if (who != PM_PROC_NR) return(EGENERIC);
|
||||||
|
|
||||||
/* Sync before the drivers die. */
|
|
||||||
do_sync();
|
|
||||||
|
|
||||||
/* Do exit processing for all leftover processes and servers. */
|
/* Do exit processing for all leftover processes and servers. */
|
||||||
for (i = 0; i < NR_PROCS; i++) { m_in.slot1 = i; do_exit(); }
|
for (i = 0; i < NR_PROCS; i++) { m_in.slot1 = i; do_exit(); }
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user