Comments (12)
The fix in revision 16 seems okay to me. Just one small thing: For consistency,
opendir() should probably also get the whole file_info structure if raw_fi is
set.
(Sorry for opening this bogus issue. I first had some objections to the fix,
but when
I thought about it in more detail I realized that I was wrong).
Original comment by [email protected]
on 3 Jun 2009 at 6:32
from fusepy.
Currently the raw_fi flag ignores the *dir methods that handle directories. Is
there a use getting the whole
fuse_file_info in these methods? If the answer is yes, I will add support for
these methods too.
Original comment by verigak
on 3 Jun 2009 at 7:42
from fusepy.
I don't have any use in mind, I was just suggesting it for the sake of
consistency,
so that the two open* functions behave similar.
Original comment by [email protected]
on 3 Jun 2009 at 9:34
from fusepy.
I just noted that if raw_fi is set, the filler method may be called repeatedly
even
if it has returned != 0 because the buffer is full. I think it would be
sensible to
check the return value and break the loop if a nonzero return value is
encountered.
Original comment by [email protected]
on 3 Jun 2009 at 9:36
from fusepy.
That makes sense, what error is more appropriate to return in that case?
Original comment by verigak
on 3 Jun 2009 at 9:55
- Changed state: Accepted
from fusepy.
As I understand it, you should not return any error since readdir() succeeded
in what
it was expected to do: fill the buffer until it is full. Since filler()
(hopefully)
transmitted the information that there still entries left, readdir() will be
called
again with the offset of the remaining entries.
Original comment by [email protected]
on 3 Jun 2009 at 10:10
from fusepy.
Yes but readdir returned elements that were ignored. It's clearly an error.
Original comment by verigak
on 3 Jun 2009 at 10:57
from fusepy.
I'm afraid I don't understand. Ignored by whom or what?
Original comment by [email protected]
on 3 Jun 2009 at 11:02
from fusepy.
Let's say that readdir returns a list of 10 items (tuples) and at item 5 filler
returns != 0. If the loop breaks there
and returns success then the last 5 items would have been ignored.
Original comment by verigak
on 3 Jun 2009 at 11:06
from fusepy.
Yes, ignored by the *calling* function. Why is that an error? If the calling
function
decides that it needs only the first 5 items, then why should itself return an
error?
It succeeded in everything it wanted to do.
Original comment by [email protected]
on 3 Jun 2009 at 11:12
from fusepy.
OK you have a point. I will fix it. Thanks!
Original comment by verigak
on 3 Jun 2009 at 11:24
from fusepy.
Fixed in rev. 18
Original comment by verigak
on 9 Jun 2009 at 4:12
- Changed state: Fixed
from fusepy.
Related Issues (20)
- Patch - support for Linux PPC HOT 1
- Errors generated by fuse_main_real are ignored HOT 1
- uid and gid can be negative for chown() HOT 1
- Patch for some minor changes arising during an FS development HOT 2
- Unicode support HOT 1
- Allow examples to handle SIGINT (Ctrl-C) gracefully HOT 4
- Allow importing fusepy as a package HOT 1
- Import in python 3 is not relative
- Stat handling is bug prone
- Fuse paths should be encoded to UTF-8 HOT 5
- statfs returns incorrect data on Mac HOT 1
- No tutorial/documentation on how to use the software
- FusePy doesn't support 64 bit inodes? HOT 4
- str<->bytes conversion not automatic with python version >=3.2 HOT 4
- Patch for /trunk/fuse.py HOT 1
- Update the package in PyPI HOT 1
- look into merging https://github.com/terencehonles/fusepy HOT 2
- Remove the source tree from Google Code
- Error import fuse on OS X HOT 1
- Invalid string type conversion HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fusepy.