/* Remounting is useful when some setting affecting the operation of the volume has been changed, as these may need a remount to take affect. While this is semantically equivalent with unmounting and then remounting not all backends might need to actually be unmounted.  */
void g_mount_remount(GMount *mount, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
/* Remounting is useful when some setting affecting the operation of the volume has been changed, as these may need a remount to take affect. While this is semantically equivalent with unmounting and then remounting not all backends might need to actually be unmounted.  */
void g_mount_remount(GMount *mount, GMountMountFlags flags, GMountOperation *mount_operation, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data)
{
  GMountIface *iface;
  g_return_if_fail (G_IS_MOUNT (mount));
  iface = G_MOUNT_GET_IFACE (mount);
  if (iface->remount == NULL)
    { 
      g_task_report_new_error (mount, callback, user_data,
                               g_mount_remount,
                               G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
                               _("mount doesn't implement \"remount\""));
      return;
    }
  (* iface->remount) (mount, flags, mount_operation, cancellable, callback, user_data);
}