This question already has an answer here:
umount $mountpoint always enough to safely remove a single-partition USB drive on a modern GNU/Linux system? Or should I use
sync && umount $mountpoint && sync, or perhaps
umount $mountpoint && udisks --detach $device? I'd like to use the safest way possible, but on the other hand I don't want to introduce superfluous dependencies or delays into my program.
EDIT: Does umount calls sync to complete any pending writes indeed answers a part of this question (whether
sync && umount $mountpoint && sync provides any benefit over
umount $mountpoint), but not the whole question (whether
udisks --detach $device or some other command provides improved safety), so it's not an exact duplicate.