From: Michael B. <mic...@go...> - 2011-11-24 14:04:39
|
Hi, >> We are using pseudo files internally to communicate between a userspace >> tool and our filesystem. Our userspace tool does communicate in the >> following way with our file system: >> >> - creat() pseudo file on file system >> - Fuse implicitly calls fgetattr() on the pseudo file (size of 0 returned) >> - write() the request to pseudo file >> >> - close() and open() pseudo file to avoid cache problems >> >> - Fuse implicitly calls fgetattr() on the pseudo file (actual size of >> the response returned) >> - read() result from pseudo file >> - close() pseudo file > > Have you considered to communicate using setxattr() and getxattr() > instead? It seems to me that this would be much easier. If I remember correctly, we decided to use virtual files to have a plattform-independ solution which will also work on a later Dokan port. The approach itself works very well except for the stated issue in older Fuse versions. Therefore I wanted to know if this a known bug or I did miss a Fuse option which does prevent this. Executing an additional stat() on the virtual file is an acceptable fix for me. However, I was wondering if there are other suggestions to work around it. Best, Michael |