:: Re: [DNG] vdev status update in dae…
Top Page
Delete this message
Reply to this message
Author: aitor
Date:  
To: dng
Subject: Re: [DNG] vdev status update in daedalus
Hi,

On 21/8/23 12:46, aitor wrote:
> What the heck is delaying the replay in the message bus?


The delay occurs in the line nº 2175 of the function:

GDBusMessage *
g_dbus_connection_send_message_with_reply_sync (GDBusConnection        *connection,
                                                GDBusMessage           *message,
                                                GDBusSendMessageFlags   flags,
                                                gint                    timeout_msec,
                                                volatile guint32       *out_serial,
                                                GCancellable           *cancellable,
                                                GError                **error)

in the file


https://github.com/GNOME/glib/blob/main/gio/gdbusconnection.c

More concretly in the GMainLoop *loop:


g_main_loop_run (data.loop);

With vdev, the loop terminates once the default timeout has expired (~ 25 sec for dbus connections).

At this point, I have an idea... setting a custom callback for the case:


GDBusConnection *connection -> method_name = "Mount"    [*]



But, even if it does works, it would be an ugly hack nonetheless.


I think that the ultimately invoked function after the method call in DBus is the opaque:


http://storaged.org/doc/udisks2-api/latest/gdbus-org.freedesktop.UDisks2.Filesystem.html


and I wonder whether it has been intentionally designed to work better with udev.

Where should I ask for help?

DBus mailing list...? Gnome...? Freedesktop...?

What a panorama.

Another alternative I'm taking into consideration is to by-pass in glib2.0 the dbus connection
in favor of my own `usbmount` ( in the particular case [*] ), that makes use of the simple Ubus
inter-process communication.

... But it would be an ugly hack nonetheless.


Cheers,

Aitor.