diff options
Diffstat (limited to 'linux')
| -rw-r--r-- | linux/chudisk.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/linux/chudisk.c b/linux/chudisk.c index f50551c..3d6f79b 100644 --- a/linux/chudisk.c +++ b/linux/chudisk.c @@ -601,6 +601,16 @@ static void chudisk_exit(void) { struct ch375 *dev = &chudisk_dev[0]; struct gendisk **gdp; + int i; + + // Flush buffers for all minors + for (i = 0; i < CHUDISK_MAX_MINORS; i++) { + kdev_t mdevno = MKDEV(MAJOR_NR, i); + + fsync_dev(mdevno); + invalidate_inodes_dev(mdevno); + invalidate_buffers(mdevno); + } // Remove from genhd list for(gdp = &gendisk_head; *gdp; gdp = &((*gdp)->next)) { |
