On Mon, Apr 07, 2008 at 03:40:50AM +0300, Szabolcs Szakacsits wrote:
>
> On Fri, 4 Apr 2008, Marc Andre Tanner wrote:
>
> > Why do all the tests pass on a regular ext3 file system while there are
> > quite a lot of errors (~80% success) when run on top of the fuse example
> > file system as found in the fuse tarball? I thought the fuse filesystem
> > just passes every access to the underlying file system. So what's causing
> > the failures? Or am i doing something wrong?
>
> I don't think you're doing anything wrong.
>
> I guess the FUSE file system examples weren't supposed to fully pass a
> posix test.
>
> Moreover FUSE restricts some things as a security measure. For instance if
> you (correctly) use the allow_other and default_permissions mount options
> then 92+% of the tests will pass.
I see. It just seemed strange to me that the tests passed on a normal
ext3 file system but not on the example fuse file system which does
nothing more than pass all operations one layer down.
I have now taken a closer look and after reading the POSIX comments
within the test cases it makes more sense. For example from tests/open/00.t:
# POSIX: (If O_CREAT is specified and the file doesn't exist) [...] the user ID
# of the file shall be set to the effective user ID of the process; the group ID
# of the file shall be set to the group ID of the file's parent directory or to
# the effective group ID of the process [...]
expect 0 chown . 65535 65535
expect 0 -u 65535 -g 65535 open ${n0} O_CREAT,O_WRONLY 0644
expect 65535,65535 lstat ${n0} uid,gid
This doesn't work for the fuse example file system because the open
syscall which actually creates the file isn't executed with the requested
uid,gid but in the context of the user who mounted the fuse file system.
So you end up with different values.
The other test failures are probably similar things.
Marc
--
Marc Andre Tanner >< http://www.brain-dump.org/ >< GPG key: CF7D56C0
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Register now and save $200. Hurry, offer ends at 11:59 p.m.,
Monday, April 7! Use priority code J8TLD2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
ntfs-3g-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ntfs-3g-devel