Re: FUSE RW operations



Hello all

One year later this 4 year old bug is still lying around.
Although it is labeled as an Enhancement, I find it a more serious, as
it is lacking an important feature. Different programs that naively
expect the semantics offered by POSIX show a weird behavior (often
treating files as readonly), since they do not treat EOPNOTSUPP
specially to cater for this "partial FS".

You mention that GFileIOStream is not implemented by GVfs, but I don't
know why it isn't using GFileIOStream, or what is needed to reach there.
I understand that for protocols like FTP the restriction of "you can
only replace (STOR) or append (APPE)" make sense as they are imposed
from the layer below, but it is unfortunate that such as nfs or smb have
to suffer it needlessly to an incomplete middlelayer (?).

What would be needed? Is there a way to help/speed up the manpower
allocated for this bug?

Best regards


PS: the bug is now on gitlab:
https://gitlab.gnome.org/GNOME/gvfs/issues/249



On 2018-05-02 at 13:59 +0200, Ondrej Holy wrote:
Hi Abraham,

this is not supported by the fuse daemon currently. Yes, protocols
like SMB, NFS and other provides API for RW mode, however,
unfortunately, GFileIOStream is not implemented by GVfs yet. For other
protocols, which don't have such features, would be necessary to
provide some fallback based on temporary files. It would be really
nice to have, but GVfs lacks manpower. It is on my TODO long time
already... but patches are welcome :-)

See relevant bug report:
https://bugzilla.gnome.org/show_bug.cgi?id=777152

Regards

Ondrej


2018-04-30 14:29 GMT+02:00 Abraham Macias Paredes
<amacias gruposolutia com>:
        Hi everybody,
        
         when using Nautilus browser to mount a SMB unit I was
        surprised when I discovered that I couldn't open a file in
        "rw" mode. When I tried to open a file with "rw" mode an
        ENOTSUP error was returned.
        
        
        After checking the source code I arrived to gvfsfusedaemon.c
        "setup_output_stream" method where the following code only
        allows "rw" mode with O_TRUNC or O_APPEND:
        
              if (flags & O_TRUNC)
                {
                  fh->stream = g_file_replace (file, NULL, FALSE, 0,
        NULL, &error);
                  fh->size = 0;
                }
              else if (flags & O_APPEND)
                fh->stream = g_file_append_to (file, 0, NULL, &error);
              else
                result = -ENOTSUP;
        
        
        I don't understand why it is not supported. I realize that in
        FTP backend it doesn't have any meaning, but SMB backend could
        support it since mounting a unit with "mount" command allows
        it.
        
        
        
        So, my questions are simple:
        
              * Why RW mode is not supported for SMB units?
              * Will it be supported in a future?
        
        Thanks!
        
        -- 
        Abraham Macías Pardes
        Analista/Programador Departamento de Desarollo y Soluciones
        amacias gruposolutia com  
        
        
        
        Edificio ZZJ / DTM
        C/ Camino de los Descubrimientos, 11
        41092 Sevilla
        T: +34 955 11 11 55
        gruposolutia.com
        
        Sus datos personales contenidos en esta comunicación han sido
        recogidos de los contactos mantenidos por Vd. o por personas
        de su entorno, con personal de SOLUTIA INNOVAWORLD
        TECHNOLOGIES, S.L. y han sido incorporados al fichero de
        GESTIÓN COMERCIAL con la finalidad de realizar la gestión,
        seguimiento y mantenimiento de nuestra relación comercial, o a
        otro fichero correspondiente al tipo de relación que mantiene
        con nosotros, de lo que Vd. fue convenientemente informado al
        recibir bien el documento contractual entregado al inicio de
        los contactos bien en una comunicación inmediatamente
        posterior en que se daba cumplimiento al derecho de
        información y se le solicitaba consentimiento para tratar sus
        datos personales, tratamiento que se efectuará de acuerdo a
        las finalidades allí expresadas.
        
        En el caso en que ésta sea la primera comunicación que recibe
        por nuestra parte, le solicitamos su consentimiento para
        proceder al tratamiento de sus datos de acuerdo a las
        condiciones detalladas al inicio. Entenderemos que nos presta
        su consentimiento si en el plazo de un mes a contar desde la
        recepción de esta comunicación no nos expresa su voluntad en
        contra. Le informamos que puede revocar en cualquier momento
        su consentimiento respondiendo a este mail indicando que no
        desea recibir más información acerca de nuestra empresa,
        supuesto en el que será automáticamente dado de baja de
        nuestra lista de correo.
        
        Podrá ejercer sus derechos de acceso, rectificación,
        cancelación y oposición ante el Responsable del fichero,
        SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. en la dirección C/
        Extremadura, 108 Parque empresarial Los Llanos; 41909
        Salteras, SEVILLA, indicando en la comunicación la referencia
        "LOPD"
        _______________________________________________
        gvfs-list mailing list
        gvfs-list gnome org
        https://mail.gnome.org/mailman/listinfo/gvfs-list
        



-- 
Ondrej Holy
Software Engineer, Core Desktop Development
Red Hat Czech s.r.o




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]