Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Fuse e system call

  1. #1

    Fuse e system call

    Sinceramente immagino che questa sia una domanda alquanto stupida, ma non riesco a capire cosa dovrebbero fare due system call di fuse ( che immagino siano simili a quelle standard, ma non sempre xò ).
    In particolar modo:

    - int (*flush) (const char *, struct fuse_file_info *);
    - int (*release) (const char *, struct fuse_file_info *);


    insomma, dalla documentazione non riesco a capire la loro funzione, e non mi azzardo neanche a provare a tradurre in italiano quello che trovo nei manuali......



    grazie in anticipo....

    Fillo

  2. #2
    domanda troppo difficile? io sono su una barca che sta x affondare x colpa di sta roba.....

  3. #3

    Re: Fuse e system call

    Originariamente inviato da fillo_84
    Sinceramente immagino che questa sia una domanda alquanto stupida, ma non riesco a capire cosa dovrebbero fare due system call di fuse ( che immagino siano simili a quelle standard, ma non sempre xò ).
    In particolar modo:

    - int (*flush) (const char *, struct fuse_file_info *);
    - int (*release) (const char *, struct fuse_file_info *);
    [...]
    Mumble, non so se FUSE cambia le carte in tavola in questo senso, ma in generale, a grandi linee:

    - flush serve a scaricare sul block device designato tutti i blocchi in cache, o comunque tutto il contenuto dei vari buffer

    - release non ricordo precisamente, mi pare che liberi le risorse acquisite, ma dovrei riguardare...
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  4. #4
    Io ho capito che in teoria la flush() svuota un qualcosa....solo che in nessuno manuale riesco a capire cosa....mi svuota il file? il buffer che mi passa?serve prima delle close quindi penso che sia il buffer che in teoria servirebbe x scrivere sul file,ma......sto diventando matto senza trovare risposta.....


    x la release stessa storia purtroppo..... VVoVe:




    oserei dire che mi sento un ignorante,.....

  5. #5
    Originariamente inviato da fillo_84
    Io ho capito che in teoria la flush() svuota un qualcosa....solo che in nessuno manuale riesco a capire cosa....mi svuota il file? il buffer che mi passa?serve prima delle close quindi penso che sia il buffer che in teoria servirebbe x scrivere sul file,ma......sto diventando matto senza trovare risposta.....
    in generale flush() sincronizza il contenuto del disco con i dati messi in cache. Svuota tutti i buffer in pratica, o almeno cosi' ricordo.

    x la release stessa storia purtroppo..... VVoVe:
    OK, mi sono chiarito un minimo le idee. La release() viene invocata quando non ci sono piu' riferimenti ad un dato file, e quindi occorre fare pulizia. Ad una close() non corrisponde necessariamente una release() (esempio: si e' usato dup2(), fork()...), pero' per ogni open() deve esserci una release().

    Pero', mi sbaglio o stai ad un livello un po' piu' basso di libfuse? Non puoi usare quest'ultima, o stai mettendo le mani nel kernel?
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  6. #6
    Pero', mi sbaglio o stai ad un livello un po' piu' basso di libfuse? Non puoi usare quest'ultima, o stai mettendo le mani nel kernel?

    in teoria devo emulare libfuse....cioè devo praticamente gestire uno pseudo-filesystem....

  7. #7
    Originariamente inviato da fillo_84
    in teoria devo emulare libfuse....cioè devo praticamente gestire uno pseudo-filesystem....
    E perche` non puoi usare il toolkit standard di fuse? (libfuse etc. etc.)
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.