Add wrapper for Linux BLKFLSBUF ioctl

FreeBSD has no analog. Buffered block devices were removed a decade
plus ago.

Reviewed-by: Igor Kozhukhov <igor@dilos.org>
Reviewed-by: Jorgen Lundman <lundman@lundman.net>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Matt Macy <mmacy@FreeBSD.org>
Closes #9508
This commit is contained in:
Matthew Macy
2019-10-28 09:53:39 -07:00
committed by Brian Behlendorf
parent 4a22ba5be0
commit d46f0deb03
4 changed files with 9 additions and 2 deletions
+1 -1
View File
@@ -1178,7 +1178,7 @@ zpool_do_labelclear(int argc, char **argv)
* fatal when the device does not support BLKFLSBUF as would be the
* case for a file vdev.
*/
if ((ioctl(fd, BLKFLSBUF) != 0) && (errno != ENOTTY))
if ((zfs_dev_flush(fd) != 0) && (errno != ENOTTY))
(void) fprintf(stderr, gettext("failed to invalidate "
"cache for %s: %s\n"), vdev, strerror(errno));