<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.nabble.com,2006:forum-996</id>
	<title>Nabble - Fuse - Dev</title>
	<updated>2008-09-06T07:41:43Z</updated>
	<link rel="self" type="application/atom+xml" href="http://www.nabble.com/Fuse---Dev-f996.xml" />
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Fuse---Dev-f996.html" />
	<subtitle type="html">Filesystem in Userspace.</subtitle>
	
<entry>
	<id>tag:www.nabble.com,2006:post-19347343</id>
	<title>Re: API breakage between 2.5.3 and 2.7.3</title>
	<published>2008-09-06T07:41:43Z</published>
	<updated>2008-09-06T07:41:43Z</updated>
	<author>
		<name>Jan Engelhardt-3</name>
	</author>
	<content type="html">&lt;br&gt;On Saturday 2008-09-06 07:16, Conrad Meyer wrote:
&lt;br&gt;&lt;br&gt;&amp;gt;Hello list,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Recently we ran into a little trouble building the Tux3 FUSE layer on 
&lt;br&gt;&amp;gt;different distros. Debian Etch has FUSE 2.5.3, and Fedora 9 has 2.7.3. Across 
&lt;br&gt;&amp;gt;these versions the fuse_main() macro grows another parameter. What's the 
&lt;br&gt;&amp;gt;expected workaround for C filesystems using FUSE that want to build on 
&lt;br&gt;&amp;gt;multiple distros?
&lt;br&gt;&lt;br&gt;For example autoconf that tests for the number of parameters.
&lt;br&gt;See &lt;a href=&quot;http://tinyurl.com/6k6hnm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tinyurl.com/6k6hnm&lt;/a&gt;&amp;nbsp;on how this is done.
&lt;br&gt;&lt;br&gt;Then again, FUSE 2.5.3 is almost 2 1/2 years old..
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19347343&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/API-breakage-between-2.5.3-and-2.7.3-tp19345563p19347343.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19345563</id>
	<title>API breakage between 2.5.3 and 2.7.3</title>
	<published>2008-09-06T04:16:48Z</published>
	<updated>2008-09-06T04:16:48Z</updated>
	<author>
		<name>Conrad Meyer</name>
	</author>
	<content type="html">Hello list,
&lt;br&gt;&lt;br&gt;Recently we ran into a little trouble building the Tux3 FUSE layer on 
&lt;br&gt;different distros. Debian Etch has FUSE 2.5.3, and Fedora 9 has 2.7.3. Across 
&lt;br&gt;these versions the fuse_main() macro grows another parameter. What's the 
&lt;br&gt;expected workaround for C filesystems using FUSE that want to build on 
&lt;br&gt;multiple distros?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;-- 
&lt;br&gt;Conrad Meyer &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19345563&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cemeyer@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19345563&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/API-breakage-between-2.5.3-and-2.7.3-tp19345563p19345563.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19315480</id>
	<title>Re: Creating a file with default Posix ACL</title>
	<published>2008-09-04T10:12:42Z</published>
	<updated>2008-09-04T10:12:42Z</updated>
	<author>
		<name>Jean-Pierre André</name>
	</author>
	<content type="html">Hi again,
&lt;br&gt;&lt;br&gt;I really cannot get the initial permissions right when there
&lt;br&gt;is a default Posix ACL. I cannot overcome the umask having
&lt;br&gt;been applied before the fuse create() method is called. I
&lt;br&gt;mean the standard umask, not the fuse option with the same
&lt;br&gt;name.
&lt;br&gt;&lt;br&gt;So I am asking again for help over this.
&lt;br&gt;&lt;br&gt;Here is a different example, with several umask values :
&lt;br&gt;&lt;br&gt;# get a clean environment
&lt;br&gt;rm -rf trydir
&lt;br&gt;# create a directory with a default ACL allowing all rwx
&lt;br&gt;mkdir trydir
&lt;br&gt;setfacl -m 'd:u::7,d:g::7,d:m::7,d:o::7' trydir
&lt;br&gt;# check default ACL
&lt;br&gt;getfacl trydir
&lt;br&gt;# create files with several umasks
&lt;br&gt;umask 0333
&lt;br&gt;touch trydir/file333
&lt;br&gt;ls -l trydir/file333
&lt;br&gt;umask 0666
&lt;br&gt;touch trydir/file666
&lt;br&gt;ls -l trydir/file666
&lt;br&gt;umask 0777
&lt;br&gt;touch trydir/file777
&lt;br&gt;ls -l trydir/file777
&lt;br&gt;umask 000 &amp;nbsp;
&lt;br&gt;touch trydir/file000
&lt;br&gt;ls -l trydir/file000
&lt;br&gt;&lt;br&gt;This is the result on ext3 :
&lt;br&gt;&lt;br&gt;# file: trydir
&lt;br&gt;# owner: root
&lt;br&gt;# group: root
&lt;br&gt;user::rwx
&lt;br&gt;group::r-x
&lt;br&gt;other::r-x
&lt;br&gt;default:user::rwx
&lt;br&gt;default:group::rwx
&lt;br&gt;default:mask::rwx
&lt;br&gt;default:other::rwx
&lt;br&gt;&lt;br&gt;-rw-rw-rw-+ 1 root root 0 2008-09-04 18:37 trydir/file333
&lt;br&gt;-rw-rw-rw-+ 1 root root 0 2008-09-04 18:37 trydir/file666
&lt;br&gt;-rw-rw-rw-+ 1 root root 0 2008-09-04 18:37 trydir/file777
&lt;br&gt;-rw-rw-rw-+ 1 root root 0 2008-09-04 18:37 trydir/file000
&lt;br&gt;&lt;br&gt;This shows the umask should have no effect on the
&lt;br&gt;initial mode, but with fuse (and ntfs-3g) I get :
&lt;br&gt;&lt;br&gt;# file: trydir
&lt;br&gt;# owner: root
&lt;br&gt;# group: root
&lt;br&gt;user::rwx
&lt;br&gt;user:root:---
&lt;br&gt;group::---
&lt;br&gt;mask::r-x
&lt;br&gt;other::r-x
&lt;br&gt;default:user::rwx
&lt;br&gt;default:user:root:---
&lt;br&gt;default:group::rwx
&lt;br&gt;default:mask::rwx
&lt;br&gt;default:other::rwx
&lt;br&gt;&lt;br&gt;-r--r--r--+ 1 root root 0 2008-09-04 18:37 trydir/file333
&lt;br&gt;----------+ 1 root root 0 2008-09-04 18:37 trydir/file666
&lt;br&gt;----------+ 1 root root 0 2008-09-04 18:37 trydir/file777
&lt;br&gt;-rw-rw-rw-+ 1 root root 0 2008-09-04 18:37 trydir/file000
&lt;br&gt;&lt;br&gt;The modes are not correct, because the umask has
&lt;br&gt;been applied to the requested mode before create()
&lt;br&gt;is called.
&lt;br&gt;&lt;br&gt;Is there a way to overcome this ?
&lt;br&gt;&lt;br&gt;Thanks for any reply.
&lt;br&gt;&lt;br&gt;Jean-Pierre
&lt;br&gt;&lt;br&gt;&lt;br&gt;Jean-Pierre André wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am having difficulty in applying the correct initial mode
&lt;br&gt;&amp;gt; and ACL when creating a file (or a directory), when the
&lt;br&gt;&amp;gt; parent directory has a default Posix ACL.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19315480&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--ntfs-3g-devel--checking-for-processuid%3D%3D0-instead-of-CAP_FOWNER-tp18866349p19315480.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19300747</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-03T17:09:59Z</published>
	<updated>2008-09-03T17:09:59Z</updated>
	<author>
		<name>Tejun Heo-3</name>
	</author>
	<content type="html">Eric W. Biederman wrote:
&lt;br&gt;&amp;gt; Maintenance. &amp;nbsp;What happens if I go 128bit, if I have some processes
&lt;br&gt;&amp;gt; that are big endian and some that are little endian. &amp;nbsp;Or if I have
&lt;br&gt;&amp;gt; some processes that are running a completely different instruction
&lt;br&gt;&amp;gt; set with a completely different ABI than other processes. &amp;nbsp;Or
&lt;br&gt;&amp;gt; perhaps different perhaps the processes is in a different network
&lt;br&gt;&amp;gt; namespace than your filesystem and so it's arguments refer
&lt;br&gt;&amp;gt; to something different entirely. &amp;nbsp;Is it a userspace bug if userspace
&lt;br&gt;&amp;gt; does not anticipate how the kernel will change in the future?
&lt;br&gt;&lt;br&gt;What I don't see is how anything becomes different whether that part
&lt;br&gt;is implemented in kernel or not. &amp;nbsp;For ioctls, only the implementing
&lt;br&gt;code knows what the data structure should look like that's why we
&lt;br&gt;can't handle 64/32 bit problems generically and has -&amp;gt;compat_ioctl
&lt;br&gt;hook. &amp;nbsp;To me, splitting it to two pieces looks like more maintenance
&lt;br&gt;overhead than the other way around.
&lt;br&gt;&lt;br&gt;&amp;gt; If we don't look at ioctl as a set of system calls that should
&lt;br&gt;&amp;gt; be put into an appropriate format for a filesystem we have
&lt;br&gt;&amp;gt; a maintenance problem.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If we don't have an interface clean enough we can push data
&lt;br&gt;&amp;gt; out to a server on a remote machine have it processes the
&lt;br&gt;&amp;gt; arguments and send the data back. &amp;nbsp;We actually have failed
&lt;br&gt;&amp;gt; to properly abstract the interface.
&lt;br&gt;&lt;br&gt;I don't think that's a possible goal in generic manner. &amp;nbsp;We can't even
&lt;br&gt;do that for read/writes. &amp;nbsp;At least not at FUSE's level. &amp;nbsp;We need
&lt;br&gt;higher abstraction for that. &amp;nbsp;e.g. /dev/oss via CUSE, ioctl specified
&lt;br&gt;machine endian 16bit format. &amp;nbsp;Supporting that in the way you described
&lt;br&gt;would require a lot of logic in the kernel and I don't really see any
&lt;br&gt;benefit over, say, forward the sound via pulseaudio after getting it
&lt;br&gt;to userland. &amp;nbsp;I don't think the problem can or should be solved at
&lt;br&gt;FUSE interface level.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Well, kernel stub kind of beats a lot of benefits of FUSE - no
&lt;br&gt;&amp;gt;&amp;gt; specific kernel dependencies, easy development and distribution,
&lt;br&gt;&amp;gt;&amp;gt; etc...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Of course FUSE has specific kernel dependencies. &amp;nbsp;It depends
&lt;br&gt;&amp;gt; on the implementation of fusefs in the kernel to talk to it.
&lt;br&gt;&amp;gt; The reason you don't need a specific kernel today is that
&lt;br&gt;&amp;gt; the kernel dependencies are well defined. &amp;nbsp;You are talking
&lt;br&gt;&amp;gt; about using a very poorly defined interface to talk to the
&lt;br&gt;&amp;gt; filesystem. &amp;nbsp;At which point it would be better to open
&lt;br&gt;&amp;gt; a separate channel and talk to the filsystem directly.
&lt;/div&gt;&lt;br&gt;The difference is that FUSE servers depend on FUSE and each server
&lt;br&gt;doesn't require separate new pieces to get working and ioctl is poorly
&lt;br&gt;defined by nature.
&lt;br&gt;&lt;br&gt;&amp;gt; Being able to add a kernel system call (ioctl) with no review is a
&lt;br&gt;&amp;gt; total maintenance disaster. &amp;nbsp;It is impossible to maintain because
&lt;br&gt;&amp;gt; there is not a process to even discover what is going on.
&lt;br&gt;&lt;br&gt;How about adding whole FSes w/o a review? &amp;nbsp;That's the whole point of
&lt;br&gt;FUSE. &amp;nbsp;Seriously, there are infinite number of ways to break the
&lt;br&gt;regular defined filesystem semantics using FUSE. &amp;nbsp;FUSE should provide
&lt;br&gt;mechanism and protects against certain fundamental things. &amp;nbsp;It can't
&lt;br&gt;enforce correct semantics on everything.
&lt;br&gt;&lt;br&gt;&amp;gt; We have to have a kernel stub to support other system calls
&lt;br&gt;&amp;gt; and I don't see why individual ioctls should be different.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If you want to support forwards compatibility reserving
&lt;br&gt;&amp;gt; some ioctl numbers and saying these numbers will always
&lt;br&gt;&amp;gt; be parsed this way. &amp;nbsp;Which would allow you to write
&lt;br&gt;&amp;gt; a common stub that can be implemented before the ioctls
&lt;br&gt;&amp;gt; are implemented.
&lt;br&gt;&lt;br&gt;ioctls is most likely to be used to emulate legacy or proprietary
&lt;br&gt;devices. &amp;nbsp;If you're worried about filesystems abusing it, maybe the
&lt;br&gt;solution is to only allow CUSE to use ioctls but I really don't see
&lt;br&gt;what the problem is here. &amp;nbsp;If the userland FS server wants to shoot
&lt;br&gt;itself in the foot, it's not really the kernel's problem.
&lt;br&gt;&lt;br&gt;&amp;gt; If you really don't want new kernel dependencies you can hook up to
&lt;br&gt;&amp;gt; the process via ptrace and intercept the ioctls before they even get
&lt;br&gt;&amp;gt; to the kernel. &amp;nbsp;If you can open /proc/&amp;lt;pid&amp;gt;/mem you have the rights
&lt;br&gt;&amp;gt; to ptrace the process.
&lt;br&gt;&lt;br&gt;Aieee.. The same goes for the whole FUSE.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;tejun
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19300747&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19300747.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19299012</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-03T14:51:10Z</published>
	<updated>2008-09-03T14:51:10Z</updated>
	<author>
		<name>Eric W. Biederman</name>
	</author>
	<content type="html">Tejun Heo &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19299012&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tj@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;br&gt;&amp;gt; Eric W. Biederman wrote:
&lt;br&gt;&amp;gt;&amp;gt; I really think that if an ioctl is passing through the kernel we
&lt;br&gt;&amp;gt;&amp;gt; should know how to parse and understand it's options. &amp;nbsp;Otherwise
&lt;br&gt;&amp;gt;&amp;gt; we won't have the option of doing backwards compatibility when something
&lt;br&gt;&amp;gt;&amp;gt; changes, like we can with the 32-&amp;gt;64bit ioctls.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; There's no reason 32-&amp;gt;64bit can't be handled in userland? &amp;nbsp;What's the
&lt;br&gt;&amp;gt; difference?
&lt;br&gt;&lt;br&gt;Maintenance. &amp;nbsp;What happens if I go 128bit, if I have some processes
&lt;br&gt;that are big endian and some that are little endian. &amp;nbsp;Or if I have
&lt;br&gt;some processes that are running a completely different instruction
&lt;br&gt;set with a completely different ABI than other processes. &amp;nbsp;Or
&lt;br&gt;perhaps different perhaps the processes is in a different network
&lt;br&gt;namespace than your filesystem and so it's arguments refer
&lt;br&gt;to something different entirely. &amp;nbsp;Is it a userspace bug if userspace
&lt;br&gt;does not anticipate how the kernel will change in the future?
&lt;br&gt;&lt;br&gt;If we don't look at ioctl as a set of system calls that should
&lt;br&gt;be put into an appropriate format for a filesystem we have
&lt;br&gt;a maintenance problem.
&lt;br&gt;&lt;br&gt;If we don't have an interface clean enough we can push data
&lt;br&gt;out to a server on a remote machine have it processes the
&lt;br&gt;arguments and send the data back. &amp;nbsp;We actually have failed
&lt;br&gt;to properly abstract the interface.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; That seems to imply that you need a stub in the kernel to handle 
&lt;br&gt;&amp;gt;&amp;gt; really weird ioctls.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; The upside is that because you know what the inputs and outputs are
&lt;br&gt;&amp;gt;&amp;gt; and where the inputs and output are you can support that ioctl well
&lt;br&gt;&amp;gt;&amp;gt; into the future, and you can do it with an unprivileged file
&lt;br&gt;&amp;gt;&amp;gt; system server.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Well, kernel stub kind of beats a lot of benefits of FUSE - no
&lt;br&gt;&amp;gt; specific kernel dependencies, easy development and distribution,
&lt;br&gt;&amp;gt; etc...
&lt;/div&gt;&lt;br&gt;Of course FUSE has specific kernel dependencies. &amp;nbsp;It depends
&lt;br&gt;on the implementation of fusefs in the kernel to talk to it.
&lt;br&gt;The reason you don't need a specific kernel today is that
&lt;br&gt;the kernel dependencies are well defined. &amp;nbsp;You are talking
&lt;br&gt;about using a very poorly defined interface to talk to the
&lt;br&gt;filesystem. &amp;nbsp;At which point it would be better to open
&lt;br&gt;a separate channel and talk to the filsystem directly.
&lt;br&gt;&lt;br&gt;Being able to add a kernel system call (ioctl) with no review is a
&lt;br&gt;total maintenance disaster. &amp;nbsp;It is impossible to maintain because
&lt;br&gt;there is not a process to even discover what is going on.
&lt;br&gt;&lt;br&gt;We have to have a kernel stub to support other system calls
&lt;br&gt;and I don't see why individual ioctls should be different.
&lt;br&gt;&lt;br&gt;If you want to support forwards compatibility reserving
&lt;br&gt;some ioctl numbers and saying these numbers will always
&lt;br&gt;be parsed this way. &amp;nbsp;Which would allow you to write
&lt;br&gt;a common stub that can be implemented before the ioctls
&lt;br&gt;are implemented.
&lt;br&gt;&lt;br&gt;If you really don't want new kernel dependencies you can hook up to
&lt;br&gt;the process via ptrace and intercept the ioctls before they even get
&lt;br&gt;to the kernel. &amp;nbsp;If you can open /proc/&amp;lt;pid&amp;gt;/mem you have the rights
&lt;br&gt;to ptrace the process.
&lt;br&gt;&lt;br&gt;Eric
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19299012&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19299012.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19290721</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-03T07:40:24Z</published>
	<updated>2008-09-03T07:40:24Z</updated>
	<author>
		<name>Tejun Heo-3</name>
	</author>
	<content type="html">Eric W. Biederman wrote:
&lt;br&gt;&amp;gt; I really think that if an ioctl is passing through the kernel we
&lt;br&gt;&amp;gt; should know how to parse and understand it's options. &amp;nbsp;Otherwise
&lt;br&gt;&amp;gt; we won't have the option of doing backwards compatibility when something
&lt;br&gt;&amp;gt; changes, like we can with the 32-&amp;gt;64bit ioctls.
&lt;br&gt;&lt;br&gt;There's no reason 32-&amp;gt;64bit can't be handled in userland? &amp;nbsp;What's the
&lt;br&gt;difference?
&lt;br&gt;&lt;br&gt;&amp;gt; That seems to imply that you need a stub in the kernel to handle 
&lt;br&gt;&amp;gt; really weird ioctls.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The upside is that because you know what the inputs and outputs are
&lt;br&gt;&amp;gt; and where the inputs and output are you can support that ioctl well
&lt;br&gt;&amp;gt; into the future, and you can do it with an unprivileged file
&lt;br&gt;&amp;gt; system server.
&lt;br&gt;&lt;br&gt;Well, kernel stub kind of beats a lot of benefits of FUSE - no
&lt;br&gt;specific kernel dependencies, easy development and distribution,
&lt;br&gt;etc...
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;tejun
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19290721&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19290721.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19290558</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-03T07:32:22Z</published>
	<updated>2008-09-03T07:32:22Z</updated>
	<author>
		<name>Eric W. Biederman</name>
	</author>
	<content type="html">Tejun Heo &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19290558&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tj@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Miklos Szeredi wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; So why not just only support well defined ioctls and serialize them
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; in the kernel and allow the receiving process to deserialize them?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I'd like the idea of limiting to well behaved ioctls, but Tejun
&lt;br&gt;&amp;gt;&amp;gt; doesn't...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'm not dead against it. &amp;nbsp;I'm just a bit more inclined to my
&lt;br&gt;&amp;gt; implementation (naturally), which means if you're dead against the
&lt;br&gt;&amp;gt; current implementation, supporting only the proper ones definitely is
&lt;br&gt;&amp;gt; an option, but comparing the pros and cons, I'm not quite convinced
&lt;br&gt;&amp;gt; yet.
&lt;/div&gt;&lt;br&gt;I really think that if an ioctl is passing through the kernel we
&lt;br&gt;should know how to parse and understand it's options. &amp;nbsp;Otherwise
&lt;br&gt;we won't have the option of doing backwards compatibility when something
&lt;br&gt;changes, like we can with the 32-&amp;gt;64bit ioctls.
&lt;br&gt;&lt;br&gt;That seems to imply that you need a stub in the kernel to handle 
&lt;br&gt;really weird ioctls.
&lt;br&gt;&lt;br&gt;The upside is that because you know what the inputs and outputs are
&lt;br&gt;and where the inputs and output are you can support that ioctl well
&lt;br&gt;into the future, and you can do it with an unprivileged file
&lt;br&gt;system server.
&lt;br&gt;&lt;br&gt;Eric
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19290558&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19290558.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19279377</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-02T15:07:30Z</published>
	<updated>2008-09-02T15:07:30Z</updated>
	<author>
		<name>Szabolcs Szakacsits</name>
	</author>
	<content type="html">&lt;br&gt;On Tue, 2 Sep 2008, Maxim Levitsky wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Szabolcs Szakacsits wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Mon, 1 Sep 2008, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; (And does full path walk on each syscall)?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The stable release, yes. But it was never the intention to stay this way 
&lt;br&gt;&amp;gt; &amp;gt; and we are working on the migration for over a year. Depending on quite 
&lt;br&gt;&amp;gt; &amp;gt; many things, our measured speedup is 100-200%. But this is really file 
&lt;br&gt;&amp;gt; &amp;gt; system and implementation specific.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is a lot, imagine the same on top of cd/dvd device that has very slow 
&lt;br&gt;&amp;gt; seek speeds...
&lt;/div&gt;&lt;br&gt;If the cd/dvd device has a buffer cache, what I suspect, then the two are 
&lt;br&gt;often orthogonal.
&lt;br&gt;&lt;br&gt;The above 100-200% is only for NTFS which has an exceptionally big 
&lt;br&gt;computation overhead. Once when I was testing the low-level vs high-level 
&lt;br&gt;performance difference with highly optimized ram file systems then the 
&lt;br&gt;difference was only 10-30%. But this percentage really depends on many 
&lt;br&gt;things.
&lt;br&gt;&lt;br&gt;The computation (and the above 100-200% improvement) is absolutely 
&lt;br&gt;neglectable many times compared to seek performance (amount and costs).
&lt;br&gt;&lt;br&gt;Below is the result of compilebench (developed by/for btrfs) which 
&lt;br&gt;simulates unpacking the kernel tarball 30 times in different directories:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Runtime (s)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -----------
&lt;br&gt;&amp;nbsp; btrfs unstable, no dup &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;168 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; btrfs unstable &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;197 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; ext4 2.6.26 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 245 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; nilfs2 2nd+ runs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;287 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; ntfs-3g unstable &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;370 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; ext3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;559 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; xfs nobarrier &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 562 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; reiserfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;595 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; xfs nobarrier, ncq, wc off &amp;nbsp; &amp;nbsp; 1070 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; nilfs2 1st run &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3719 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; xfs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3786 &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;btrfs, ext4, nilfs are all designed to optimize out seeks.
&lt;br&gt;&lt;br&gt;The tested ntfs-3g is not optimized, uses the high-level FUSE API and it's 
&lt;br&gt;still far faster than any current stable Linux file system, at least in 
&lt;br&gt;the above test.
&lt;br&gt;&lt;br&gt;How is it possible?
&lt;br&gt;&lt;br&gt;I suspect it's because the DEC engineers hired by Microsoft in the 
&lt;br&gt;beginning of the 90's already have learnt the hard way how important seek 
&lt;br&gt;elimination and NTFS was designed accordingly, based on the Files-11 file 
&lt;br&gt;system from PDP-11. 
&lt;br&gt;&lt;br&gt;Optimizing out as many seeks as possible is highly crucial for performance,
&lt;br&gt;though this is changing with the spreading of SSD.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Szaka
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19279377&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19279377.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19272627</id>
	<title>Re: [ANNOUNCE] OSS Proxy using CUSE</title>
	<published>2008-09-02T08:25:18Z</published>
	<updated>2008-09-02T08:25:18Z</updated>
	<author>
		<name>Pavel Machek-2</name>
	</author>
	<content type="html">Hi!
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; So, after all the fuss, here's the state-of-the-art standard-compliant
&lt;br&gt;&amp;gt; &amp;gt; cloud-computing web-3.0-beta web page for OSS emulation using CUSE.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &lt;a href=&quot;http://userweb.kernel.org/~tj/ossp/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://userweb.kernel.org/~tj/ossp/&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; It works pretty well here. &amp;nbsp;:-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sorry for being destructive, but 6 years after ALSA went into the
&lt;br&gt;&amp;gt; kernel we are slightly approaching the point where all applications 
&lt;br&gt;&amp;gt; support ALSA.
&lt;/div&gt;&lt;br&gt;Did ALSA reach a point where you can support new cards by just
&lt;br&gt;updating the kernel?
&lt;br&gt;&lt;br&gt;I kind of like /dev/dsp interface... and don't see why simple sound
&lt;br&gt;apps should be linked to libalsa... I used to record and play sounds
&lt;br&gt;from shell by cat /dev/dsp...
&lt;br&gt;-- 
&lt;br&gt;(english) &lt;a href=&quot;http://www.livejournal.com/~pavelmachek&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.livejournal.com/~pavelmachek&lt;/a&gt;&lt;br&gt;(cesky, pictures) &lt;a href=&quot;http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19272627&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-ANNOUNCE--OSS-Proxy-using-CUSE-tp19207127p19272627.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19271138</id>
	<title>Re: Creating a file with default Posix ACL</title>
	<published>2008-09-02T07:18:05Z</published>
	<updated>2008-09-02T07:18:05Z</updated>
	<author>
		<name>Jean-Pierre André</name>
	</author>
	<content type="html">Oops,
&lt;br&gt;&lt;br&gt;Of course in that situation, the mode and umask should
&lt;br&gt;be ignored altogether and replaced by the default ACL,
&lt;br&gt;so there is no problem.
&lt;br&gt;&lt;br&gt;Sorry for the disturbance.
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;&lt;br&gt;Jean-Pierre
&lt;br&gt;&lt;br&gt;&lt;br&gt;Jean-Pierre André wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I am having difficulty in applying the correct initial mode
&lt;br&gt;&amp;gt; and ACL when creating a file (or a directory), when the
&lt;br&gt;&amp;gt; parent directory has a default Posix ACL.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The fuse create() &amp;nbsp;method receives an initial mode with
&lt;br&gt;&amp;gt; the umask applied. Now, according to the Posix draft, the
&lt;br&gt;&amp;gt; umask should be applied when there is no default ACL,
&lt;br&gt;&amp;gt; but it should not when there is one.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19271138&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--ntfs-3g-devel--checking-for-processuid%3D%3D0-instead-of-CAP_FOWNER-tp18866349p19271138.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19269528</id>
	<title>Creating a file with default Posix ACL</title>
	<published>2008-09-02T05:44:52Z</published>
	<updated>2008-09-02T05:44:52Z</updated>
	<author>
		<name>Jean-Pierre André</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I am having difficulty in applying the correct initial mode
&lt;br&gt;and ACL when creating a file (or a directory), when the
&lt;br&gt;parent directory has a default Posix ACL.
&lt;br&gt;&lt;br&gt;The fuse create() &amp;nbsp;method receives an initial mode with
&lt;br&gt;the umask applied. Now, according to the Posix draft, the
&lt;br&gt;umask should be applied when there is no default ACL,
&lt;br&gt;but it should not when there is one.
&lt;br&gt;&lt;br&gt;Here is an example :
&lt;br&gt;&lt;br&gt;# get a clean environment
&lt;br&gt;rm -rf trydir
&lt;br&gt;# create a directory with a default ACL
&lt;br&gt;mkdir trydir
&lt;br&gt;setfacl -m 'd:u::wx,d:g:1000:x,d:g::wx,d:o::wx,d:m::rwx' trydir
&lt;br&gt;# set umask to 077 and create a file
&lt;br&gt;umask 077
&lt;br&gt;touch trydir/tryfile
&lt;br&gt;# display its mode and ACL
&lt;br&gt;/bin/ls -l trydir/tryfile
&lt;br&gt;getfacl trydir/tryfile
&lt;br&gt;&lt;br&gt;And this is the expected result (tried on ext3) :
&lt;br&gt;&lt;br&gt;--w-rw--w-+ 1 linux linux 0 2008-09-02 13:03 trydir/tryfile
&lt;br&gt;# file: trydir/tryfile
&lt;br&gt;# owner: linux
&lt;br&gt;# group: linux
&lt;br&gt;user::-w-
&lt;br&gt;group::-wx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#effective:-w-
&lt;br&gt;group:1000:--x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#effective:---
&lt;br&gt;mask::rw-
&lt;br&gt;other::-w-
&lt;br&gt;&lt;br&gt;But, with fuse, the mode given to create() is 0600
&lt;br&gt;because the umask has been applied, and I cannot
&lt;br&gt;get the initial create() mode. I experience the same
&lt;br&gt;behavior with mkdir
&lt;br&gt;&lt;br&gt;This cannot be a fuse option, as the behaviour
&lt;br&gt;depends on the parent directory setting. In the
&lt;br&gt;create process, I do not see anybody querying the
&lt;br&gt;default ACL to decide over the umask.
&lt;br&gt;&lt;br&gt;Is there a way to get it around ?
&lt;br&gt;&lt;br&gt;Thanks for any help.
&lt;br&gt;&lt;br&gt;Regards
&lt;br&gt;&lt;br&gt;Jean-Pierre
&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19269528&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Re%3A--ntfs-3g-devel--checking-for-processuid%3D%3D0-instead-of-CAP_FOWNER-tp18866349p19269528.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19261045</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T14:37:32Z</published>
	<updated>2008-09-01T14:37:32Z</updated>
	<author>
		<name>Maxim Levitsky</name>
	</author>
	<content type="html">Szabolcs Szakacsits wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Mon, 1 Sep 2008, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt;&amp;gt; What are disadvantages of using fuse low level operations?
&lt;br&gt;&amp;gt;&amp;gt; Why ntfs-3g doesn't use them? 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The Microsoft NTFS driver is over 500,000 lines of code (something almost 
&lt;br&gt;&amp;gt; like the size of all the 60+ in-kernel Linux file system altogether) and 
&lt;br&gt;&amp;gt; first we were solely focusing to implement about 10% of this subset to be 
&lt;br&gt;&amp;gt; as functional as possible for reliable interoperability (that's about 15-20 
&lt;br&gt;&amp;gt; man-year work -- though we work on this only for 13 years).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; (And does full path walk on each syscall)?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The stable release, yes. But it was never the intention to stay this way 
&lt;br&gt;&amp;gt; and we are working on the migration for over a year. Depending on quite 
&lt;br&gt;&amp;gt; many things, our measured speedup is 100-200%. But this is really file 
&lt;br&gt;&amp;gt; system and implementation specific.
&lt;/div&gt;This is a lot, imagine the same on top of cd/dvd device that has very slow 
&lt;br&gt;seek speeds...
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; We also always tend to focus on the biggest bottlenecks, for instance FUSE 
&lt;br&gt;&amp;gt; big write support improved write performance by 800-1000%, thanks to Nick 
&lt;br&gt;&amp;gt; Piggin and Miklos.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Are they less portable/stable?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; The high-level API do use the low-level API, so the low-level should be at 
&lt;br&gt;&amp;gt; least as stable as the high-level (I think the FUSE layering is fantastic 
&lt;br&gt;&amp;gt; and actually it's quite efficient).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I don't know sure its portability, usually they are very similar. We have 
&lt;br&gt;&amp;gt; found that Linux FUSE is the most reliable (no known problem). The OS X, 
&lt;br&gt;&amp;gt; FreeBSD and Solaris FUSE ports have problems but they seem to be in the 
&lt;br&gt;&amp;gt; kernels. No news from NetBSD (it either works fine or not many ntfs-3g 
&lt;br&gt;&amp;gt; users).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I hope these explain and help somewhat ...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; 	 &amp;nbsp; Szaka
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Thanks a lot, I have no more questions now.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Maxim Levitsky
&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19261045&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19261045.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19260513</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T13:46:30Z</published>
	<updated>2008-09-01T13:46:30Z</updated>
	<author>
		<name>Luis Furquim</name>
	</author>
	<content type="html">On Mon, Sep 1, 2008 at 4:51 PM, Szabolcs Szakacsits &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19260513&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;szaka@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I don't know sure its portability, usually they are very similar. We have
&lt;br&gt;&amp;gt; found that Linux FUSE is the most reliable (no known problem). The OS X,
&lt;br&gt;&amp;gt; FreeBSD and Solaris FUSE ports have problems but they seem to be in the
&lt;br&gt;&amp;gt; kernels. No news from NetBSD (it either works fine or not many ntfs-3g
&lt;br&gt;&amp;gt; users).
&lt;br&gt;&lt;br&gt;NetBSD has it's own filesystem in userspace mechanism called PUFFS and
&lt;br&gt;a library called librefuse that translates fuse api into puffs api. I
&lt;br&gt;am not sure,
&lt;br&gt;but I think that this interface is compatible only with the FUSE high level
&lt;br&gt;interface.
&lt;br&gt;&lt;br&gt;Details: &lt;a href=&quot;http://www.netbsd.org/docs/puffs/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.netbsd.org/docs/puffs/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Best Regards
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Luis Otavio de Colla Furquim
&lt;br&gt;Não alimente os pingos
&lt;br&gt;Don't feed the tribbles
&lt;br&gt;&lt;a href=&quot;http://www.furquim.org/chironfs/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.furquim.org/chironfs/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19260513&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19260513.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19259822</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T12:51:56Z</published>
	<updated>2008-09-01T12:51:56Z</updated>
	<author>
		<name>Szabolcs Szakacsits</name>
	</author>
	<content type="html">&lt;br&gt;On Mon, 1 Sep 2008, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt; What are disadvantages of using fuse low level operations?
&lt;br&gt;&amp;gt; Why ntfs-3g doesn't use them? 
&lt;br&gt;&lt;br&gt;The Microsoft NTFS driver is over 500,000 lines of code (something almost 
&lt;br&gt;like the size of all the 60+ in-kernel Linux file system altogether) and 
&lt;br&gt;first we were solely focusing to implement about 10% of this subset to be 
&lt;br&gt;as functional as possible for reliable interoperability (that's about 15-20 
&lt;br&gt;man-year work -- though we work on this only for 13 years).
&lt;br&gt;&lt;br&gt;&amp;gt; (And does full path walk on each syscall)?
&lt;br&gt;&lt;br&gt;The stable release, yes. But it was never the intention to stay this way 
&lt;br&gt;and we are working on the migration for over a year. Depending on quite 
&lt;br&gt;many things, our measured speedup is 100-200%. But this is really file 
&lt;br&gt;system and implementation specific.
&lt;br&gt;&lt;br&gt;We also always tend to focus on the biggest bottlenecks, for instance FUSE 
&lt;br&gt;big write support improved write performance by 800-1000%, thanks to Nick 
&lt;br&gt;Piggin and Miklos.
&lt;br&gt;&lt;br&gt;&amp;gt; Are they less portable/stable?
&lt;br&gt;&lt;br&gt;The high-level API do use the low-level API, so the low-level should be at 
&lt;br&gt;least as stable as the high-level (I think the FUSE layering is fantastic 
&lt;br&gt;and actually it's quite efficient).
&lt;br&gt;&lt;br&gt;I don't know sure its portability, usually they are very similar. We have 
&lt;br&gt;found that Linux FUSE is the most reliable (no known problem). The OS X, 
&lt;br&gt;FreeBSD and Solaris FUSE ports have problems but they seem to be in the 
&lt;br&gt;kernels. No news from NetBSD (it either works fine or not many ntfs-3g 
&lt;br&gt;users).
&lt;br&gt;&lt;br&gt;I hope these explain and help somewhat ...
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Szaka
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19259822&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19259822.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19259032</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T11:46:09Z</published>
	<updated>2008-09-01T11:46:09Z</updated>
	<author>
		<name>Maxim Levitsky</name>
	</author>
	<content type="html">Maxim Levitsky wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Muir wrote:
&lt;br&gt;&amp;gt;&amp;gt; On 1-Sep-08, at 12:04 PM, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This is fundamental feature/bug of fuse, it doesn't have the concept 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of inodes, and instead just forwards the syscalls
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to filesystem application, and I agree that for most &amp;quot;virtual&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; filesystems this is the right thing to do.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thus I have ether to have disk wide cache, and do full walk each 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; time, or cache the file tree.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Have a look at more of the FUSE library interfaces before you complain 
&lt;br&gt;&amp;gt;&amp;gt; about fundamental bugs. The low-level interface (fuse_lowlevel.h) 
&lt;br&gt;&amp;gt;&amp;gt; might be interesting to you.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; John.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sorry :-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is exactly what I need, I didn't want to offend anyone.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Maxim Levitsky
&lt;/div&gt;&lt;br&gt;A follow on question:
&lt;br&gt;&lt;br&gt;What are disadvantages of using fuse low level operations?
&lt;br&gt;Why ntfs-3g doesn't use them? (And does full path walk on each syscall)?
&lt;br&gt;Are they less portable/stable?
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Maxim Levitsky
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19259032&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19259032.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19257534</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T09:36:00Z</published>
	<updated>2008-09-01T09:36:00Z</updated>
	<author>
		<name>Maxim Levitsky</name>
	</author>
	<content type="html">John Muir wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On 1-Sep-08, at 12:04 PM, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt;&amp;gt; This is fundamental feature/bug of fuse, it doesn't have the concept 
&lt;br&gt;&amp;gt;&amp;gt; of inodes, and instead just forwards the syscalls
&lt;br&gt;&amp;gt;&amp;gt; to filesystem application, and I agree that for most &amp;quot;virtual&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt; filesystems this is the right thing to do.
&lt;br&gt;&amp;gt;&amp;gt; Thus I have ether to have disk wide cache, and do full walk each time, 
&lt;br&gt;&amp;gt;&amp;gt; or cache the file tree.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Have a look at more of the FUSE library interfaces before you complain 
&lt;br&gt;&amp;gt; about fundamental bugs. The low-level interface (fuse_lowlevel.h) might 
&lt;br&gt;&amp;gt; be interesting to you.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; John.
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;Sorry :-)
&lt;br&gt;&lt;br&gt;This is exactly what I need, I didn't want to offend anyone.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Maxim Levitsky
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19257534&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19257534.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19257268</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T09:14:21Z</published>
	<updated>2008-09-01T09:14:21Z</updated>
	<author>
		<name>John Muir-3</name>
	</author>
	<content type="html">On 1-Sep-08, at 12:04 PM, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt; This is fundamental feature/bug of fuse, it doesn't have the concept &amp;nbsp;
&lt;br&gt;&amp;gt; of inodes, and instead just forwards the syscalls
&lt;br&gt;&amp;gt; to filesystem application, and I agree that for most &amp;quot;virtual&amp;quot; &amp;nbsp;
&lt;br&gt;&amp;gt; filesystems this is the right thing to do.
&lt;br&gt;&amp;gt; Thus I have ether to have disk wide cache, and do full walk each &amp;nbsp;
&lt;br&gt;&amp;gt; time, or cache the file tree.
&lt;br&gt;&lt;br&gt;Have a look at more of the FUSE library interfaces before you complain &amp;nbsp;
&lt;br&gt;about fundamental bugs. The low-level interface (fuse_lowlevel.h) &amp;nbsp;
&lt;br&gt;might be interesting to you.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;John.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19257268&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19257268.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19257110</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T09:04:30Z</published>
	<updated>2008-09-01T09:04:30Z</updated>
	<author>
		<name>Maxim Levitsky</name>
	</author>
	<content type="html">Miklos Szeredi wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Fri, 29 Aug 2008, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt;&amp;gt; Just one question, if I disable vfs caching (pagecache for inodes),
&lt;br&gt;&amp;gt;&amp;gt; how much it will hit performance?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It depends on many factors. &amp;nbsp;If you are using direct_io to turn off
&lt;br&gt;&amp;gt; caching, that will mean no readahead, so there will be a performance
&lt;br&gt;&amp;gt; hit from the context switch latency, especially for small reads.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; (I want to cache quite a lot of information, so I don't want to
&lt;br&gt;&amp;gt;&amp;gt; waste memory that much)
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Let me explain this.
&lt;br&gt;&lt;br&gt;I did a look at fuse operations, and I noticed that, all operations that
&lt;br&gt;work on an inode &amp;nbsp;like adding/deleting,renaming directory entries, receive
&lt;br&gt;absolute path to the file, and filesystem is left to walk the path again and again, determine
&lt;br&gt;the inode, and work on it. Thus a dcache like cache is a must, especially since I will talk to device
&lt;br&gt;using SCSI commands, thus bypass last resort cache (block device cache) (according to ntfs-3g, they don't cache the inodes/directory tree,
&lt;br&gt;but they rely on block device cache)
&lt;br&gt;&lt;br&gt;This is fundamental feature/bug of fuse, it doesn't have the concept of inodes, and instead just forwards the syscalls
&lt;br&gt;to filesystem application, and I agree that for most &amp;quot;virtual&amp;quot; filesystems this is the right thing to do.
&lt;br&gt;Thus I have ether to have disk wide cache, and do full walk each time, or cache the file tree.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Why to cache data, well now I understand that I don't need that, but for some extent filesystem might benefit.
&lt;br&gt;To write data on packet - formatted disks, I have to write in in 32k/64k chunks, but read sector size is just 2K
&lt;br&gt;thus by caching the data I might save some seeks.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Maxim Levitsky
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19257110&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19257110.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19253573</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-01T05:03:01Z</published>
	<updated>2008-09-01T05:03:01Z</updated>
	<author>
		<name>Tejun Heo-3</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;Miklos Szeredi wrote:
&lt;br&gt;&amp;gt;&amp;gt; So why not just only support well defined ioctls and serialize them
&lt;br&gt;&amp;gt;&amp;gt; in the kernel and allow the receiving process to deserialize them?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'd like the idea of limiting to well behaved ioctls, but Tejun
&lt;br&gt;&amp;gt; doesn't...
&lt;br&gt;&lt;br&gt;I'm not dead against it. &amp;nbsp;I'm just a bit more inclined to my
&lt;br&gt;implementation (naturally), which means if you're dead against the
&lt;br&gt;current implementation, supporting only the proper ones definitely is
&lt;br&gt;an option, but comparing the pros and cons, I'm not quite convinced
&lt;br&gt;yet.
&lt;br&gt;&lt;br&gt;Thanks.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;tejun
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19253573&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19253573.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19253493</id>
	<title>Re: [PATCH 5/7] FUSE: implement ioctl support</title>
	<published>2008-09-01T04:57:58Z</published>
	<updated>2008-09-01T04:57:58Z</updated>
	<author>
		<name>Miklos Szeredi</name>
	</author>
	<content type="html">On Fri, 29 Aug 2008, &lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19253493&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ebiederm@...&lt;/a&gt; (Eric W. Biederman)
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Tejun Heo &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19253493&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;tj@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; &amp;gt; The FUSE server gets task-&amp;gt;pid. &amp;nbsp;IIUC, if the FUSE server is not in a
&lt;br&gt;&amp;gt; &amp;gt; container, task-&amp;gt;pid should work fine whether the caller is in
&lt;br&gt;&amp;gt; &amp;gt; container or not, right? &amp;nbsp;And if the FUSE server is in a container,
&lt;br&gt;&amp;gt; &amp;gt; it's hell lot more complex and FUSE may have to map task-&amp;gt;pid to what
&lt;br&gt;&amp;gt; &amp;gt; FUSE server would know if possible?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Implementation wise it is not too bad.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FUSE ----------------
&lt;br&gt;&amp;gt; pid = get_pid(task_tid(current))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;kernel
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pid_vnr(pid)
&lt;/div&gt;&lt;br&gt;Ahh, thanks. &amp;nbsp;I'll need to fix this up then, regardless of any ioctl
&lt;br&gt;issues, so that the tid supplied to the userspace filesystem actually
&lt;br&gt;makes sense in a containerized environment.
&lt;br&gt;&lt;br&gt;&amp;gt; However it is a largely an insane idea.
&lt;br&gt;&amp;gt; - Write is not implemented for /proc/PID/task/TID/mem
&lt;br&gt;&lt;br&gt;Mmm, &amp;nbsp;that does pose a bit of a problem :)
&lt;br&gt;&lt;br&gt;&amp;gt; - It would be better if the kernel handed you back a file descriptor
&lt;br&gt;&amp;gt; to the other process memory rather than you having to generate one.
&lt;br&gt;&lt;br&gt;Yep, that could be done...
&lt;br&gt;&lt;br&gt;&amp;gt; - To access /proc/PID/task/TID/mem you need to have CAP_PTRACE.
&lt;br&gt;&lt;br&gt;Yes, but access to the other process's address space requires some
&lt;br&gt;sort of privilege anyway. &amp;nbsp;It would not do to have an unprivileged
&lt;br&gt;process peek at arbitrary addresses in the other process's memory, and
&lt;br&gt;that is exactly what generic ioctl support requires.
&lt;br&gt;&lt;br&gt;&amp;gt; - This seems to allow for random ioctls. &amp;nbsp;With the compat_ioctl
&lt;br&gt;&amp;gt; thing we have largely stomped on that idea. &amp;nbsp;So you should only need
&lt;br&gt;&amp;gt; to deal with well defined ioctls. &amp;nbsp;At which point why do you need to
&lt;br&gt;&amp;gt; directly access the memory of another process.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So why not just only support well defined ioctls and serialize them
&lt;br&gt;&amp;gt; in the kernel and allow the receiving process to deserialize them?
&lt;br&gt;&lt;br&gt;I'd like the idea of limiting to well behaved ioctls, but Tejun
&lt;br&gt;doesn't...
&lt;br&gt;&lt;br&gt;&amp;gt; That would allow all of this to happen with a non-privileged server
&lt;br&gt;&amp;gt; which makes the functionality much more useful.
&lt;br&gt;&lt;br&gt;There's still a security issue, because we cannot verify *if* a
&lt;br&gt;particular ioctl is indeed well behaved: only the application and the
&lt;br&gt;driver knows that, and the application cannot tell us (ioctl interface
&lt;br&gt;is broken, broken, broken), and we don't trust the server.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Miklos
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19253493&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--FUSE%3A-extend-FUSE-to-support-more-operations-tp19205717p19253493.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19253064</id>
	<title>Re: Is fuse suitable for UDF packet writing implementation?</title>
	<published>2008-09-01T04:23:02Z</published>
	<updated>2008-09-01T04:23:02Z</updated>
	<author>
		<name>Miklos Szeredi</name>
	</author>
	<content type="html">On Fri, 29 Aug 2008, Maxim Levitsky wrote:
&lt;br&gt;&amp;gt; Just one question, if I disable vfs caching (pagecache for inodes),
&lt;br&gt;&amp;gt; how much it will hit performance?
&lt;br&gt;&lt;br&gt;It depends on many factors. &amp;nbsp;If you are using direct_io to turn off
&lt;br&gt;caching, that will mean no readahead, so there will be a performance
&lt;br&gt;hit from the context switch latency, especially for small reads.
&lt;br&gt;&lt;br&gt;&amp;gt; (I want to cache quite a lot of information, so I don't want to
&lt;br&gt;&amp;gt; waste memory that much)
&lt;br&gt;&lt;br&gt;Why do you need to cache data in userspace?
&lt;br&gt;&lt;br&gt;Miklos
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19253064&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/Is-fuse-suitable-for-UDF-packet-writing-implementation--tp19209804p19253064.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19250191</id>
	<title>Re: [PATCHSET] CUSE: implement CUSE</title>
	<published>2008-09-01T00:38:45Z</published>
	<updated>2008-09-01T00:38:45Z</updated>
	<author>
		<name>Mike Hommey</name>
	</author>
	<content type="html">On Mon, Sep 01, 2008 at 09:20:19AM +0200, Goswin von Brederlow &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19250191&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;goswin-v-b@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Mike Hommey &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19250191&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mh@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; On Sat, Aug 30, 2008 at 02:30:32PM +0200, Tejun Heo wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; Yeah, compared to loopback over FUSE, anything would have less
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; problem. :-) I don't know much about nbd but it's pretty much solving
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; the same problem so I think it's logical to extend nbd including
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; giving it a new transport if necessary? &amp;nbsp;Or is there something
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; fundamentally better when it's done via FUSE?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; My gutt feeling is that it would have less overhead when done via FUSE
&lt;br&gt;&amp;gt; &amp;gt; than through nbd, but that could be wrong.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Mike
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What I would hope is that BUSE would add some zero copy transport in
&lt;br&gt;&amp;gt; there. A way to just redirect the BIOs from the BUSE device to other
&lt;br&gt;&amp;gt; block devices without copying the data around.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But maybe BUSE is a bad name for that. That would be more a DUSE -
&lt;br&gt;&amp;gt; Device mapper in USEr space.
&lt;/div&gt;&lt;br&gt;That already exists. &lt;a href=&quot;http://wiki.xensource.com/xenwiki/DmUserspace&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.xensource.com/xenwiki/DmUserspace&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mike
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19250191&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--CUSE%3A-implement-CUSE-tp19206298p19250191.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19249970</id>
	<title>Re: [PATCHSET] CUSE: implement CUSE</title>
	<published>2008-09-01T00:20:19Z</published>
	<updated>2008-09-01T00:20:19Z</updated>
	<author>
		<name>Goswin von Brederlow-2</name>
	</author>
	<content type="html">Mike Hommey &amp;lt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19249970&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mh@...&lt;/a&gt;&amp;gt; writes:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sat, Aug 30, 2008 at 02:30:32PM +0200, Tejun Heo wrote:
&lt;br&gt;&amp;gt;&amp;gt; Yeah, compared to loopback over FUSE, anything would have less
&lt;br&gt;&amp;gt;&amp;gt; problem. :-) I don't know much about nbd but it's pretty much solving
&lt;br&gt;&amp;gt;&amp;gt; the same problem so I think it's logical to extend nbd including
&lt;br&gt;&amp;gt;&amp;gt; giving it a new transport if necessary? &amp;nbsp;Or is there something
&lt;br&gt;&amp;gt;&amp;gt; fundamentally better when it's done via FUSE?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My gutt feeling is that it would have less overhead when done via FUSE
&lt;br&gt;&amp;gt; than through nbd, but that could be wrong.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mike
&lt;/div&gt;&lt;br&gt;What I would hope is that BUSE would add some zero copy transport in
&lt;br&gt;there. A way to just redirect the BIOs from the BUSE device to other
&lt;br&gt;block devices without copying the data around.
&lt;br&gt;&lt;br&gt;But maybe BUSE is a bad name for that. That would be more a DUSE -
&lt;br&gt;Device mapper in USEr space.
&lt;br&gt;&lt;br&gt;MfG
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Goswin.
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19249970&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/-PATCHSET--CUSE%3A-implement-CUSE-tp19206298p19249970.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19249867</id>
	<title>questions about flock and posix lock support in FUSE</title>
	<published>2008-08-31T22:33:30Z</published>
	<updated>2008-08-31T22:33:30Z</updated>
	<author>
		<name>hong liu-3</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I am finding there is a flag (FUSE_LK_FLOCK) in fuse kernel module
&lt;br&gt;used to differentiate posix lock and flock.
&lt;br&gt;This flag is recorded in the struct fuse_lk_in.lk_flags.
&lt;br&gt;&lt;br&gt;But this info is discarded in fuse use lib (in do_setlk_common), so at
&lt;br&gt;last when the lock request info was passed to the user space
&lt;br&gt;filesystem, we can't differentiate it's a posix lock or a flock.
&lt;br&gt;&lt;br&gt;Is it on purpose?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Hong
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19249867&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/questions-about-flock-and-posix-lock-support-in-FUSE-tp19249867p19249867.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19245808</id>
	<title>Re: linux kernel 2.6.27-rc5 and fuse gives no	LOOKUP_ACCESS</title>
	<published>2008-08-31T13:26:51Z</published>
	<updated>2008-08-31T13:26:51Z</updated>
	<author>
		<name>Lars Oliver Hansen</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Am Sonntag, den 31.08.2008, 18:23 +0300 schrieb Szabolcs Szakacsits:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sun, 31 Aug 2008, Lars Oliver Hansen wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I tried to make fuse 2.7.4 in order to add it as a kernel module because
&lt;br&gt;&amp;gt; &amp;gt; I didn't choose it in the kernel configuration of kernel 2.6.27-rc5 and
&lt;br&gt;&amp;gt; &amp;gt; I need it to access my external USB harddisk and I didn't want to
&lt;br&gt;&amp;gt; &amp;gt; recompile the kernel (I use Ubuntu 8.04 and compiled a custom kernel. My
&lt;br&gt;&amp;gt; &amp;gt; external harddisk has a NTFS file system and I enabled usbstorage and
&lt;br&gt;&amp;gt; &amp;gt; NTFS support in the custom kernel. dmesg output looks identical with
&lt;br&gt;&amp;gt; &amp;gt; regard to usb storage to Ubuntus generic kernel and the external
&lt;br&gt;&amp;gt; &amp;gt; harddisk worked under Ubuntu, accessing the location &amp;quot;external harddisk&amp;quot;
&lt;br&gt;&amp;gt; &amp;gt; with the custom kernel yields an error &amp;quot;fuse missing&amp;quot;).
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Make gives an error about a missing LOOKUP_ACCESS declaration. I read in
&lt;br&gt;&amp;gt; &amp;gt; a previous posting to this mailing list that it is supposed to be in
&lt;br&gt;&amp;gt; &amp;gt; linux/namei.h.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Linux kernel 2.6.27-rc5 namei.h doesn't have a LOOKUP_ACCESS
&lt;br&gt;&amp;gt; &amp;gt; declaration. (it has different LOOKUP_xxx declarations).
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Can you help here?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Your only option (which is far the best [performance, functionality] than 
&lt;br&gt;&amp;gt; anything else) is FUSE from the 2.6.27 kernel. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No need for kernel NTFS support which may or may not cause unexpected 
&lt;br&gt;&amp;gt; problems for you.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	Szaka
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;Thanks for your advice. I configured 2.6.27-rc5 to use FUSE and disabled
&lt;br&gt;NTFS support. I recompiled. (After all only 10 minutes waiting.)
&lt;br&gt;My external harddisk is accessible now with the new kernel!
&lt;br&gt;&lt;br&gt;Thanks again!
&lt;br&gt;&lt;br&gt;Lars
&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19245808&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/linux-kernel-2.6.27-rc5-and-fuse-gives-no-LOOKUP_ACCESS-tp19241786p19245808.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246340</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T12:44:42Z</published>
	<updated>2008-08-31T12:44:42Z</updated>
	<author>
		<name>Szabolcs Szakacsits-3</name>
	</author>
	<content type="html">&lt;br&gt;On Sun, 31 Aug 2008, Werner Baumann wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;nbsp;From ntfs-3g man-page:
&lt;br&gt;&amp;gt; it can handle special files like symbolic links, devices, and FIFOs
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; By default ... everybody has full read, write, execution and directory 
&lt;br&gt;&amp;gt; browsing permissions.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp;From &lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html:&lt;/a&gt;&lt;br&gt;&amp;gt; Special ACL configurations are also used to represent the sticky, setuid 
&lt;br&gt;&amp;gt; and setgid flags which have no real equivalent in Windows.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Compare to this restriction in doc/kernel.txt:
&lt;br&gt;&amp;gt; The solution is not to allow opening device files and ignore
&lt;br&gt;&amp;gt; setuid and setgid bits when executing programs. &amp;nbsp;To ensure this
&lt;br&gt;&amp;gt; fusermount always adds &amp;quot;nosuid&amp;quot; and &amp;quot;nodev&amp;quot; to the mount options
&lt;br&gt;&amp;gt; for non-privileged mounts.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Nothing dropped? Or do I misunderstand your documentation?
&lt;/div&gt;&lt;br&gt;Ntfs-3g can be used with both fuse user space and fuse-lite. Both add 
&lt;br&gt;unconditionally the &amp;quot;nosuid&amp;quot; and &amp;quot;nodev&amp;quot; option for unprivileged mounts. 
&lt;br&gt;For fuse-lite it's at mount.c:217:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; if (getuid())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mo.flags = MS_NOSUID | MS_NODEV;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;gt; &amp;gt; Please provide a specific exploit. Thank you.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No I will not, it is not the kind of thing I am trained in. Are you sure 
&lt;br&gt;&amp;gt; that is impossible to create a windows partition that, when mounted with 
&lt;br&gt;&amp;gt; ntfs-3g, contains executable files, owned by root and setuid? According 
&lt;br&gt;&amp;gt; to &lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html&lt;/a&gt;&amp;nbsp;and the man page, I 
&lt;br&gt;&amp;gt; can't see any real obstacle.
&lt;br&gt;&lt;br&gt;Nosuid and nodev should be enforced by the kernel via the mount options 
&lt;br&gt;which are always unconditionally added for unprivileged mounts.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Szaka
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19246340&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19246340.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19244955</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T11:48:46Z</published>
	<updated>2008-08-31T11:48:46Z</updated>
	<author>
		<name>Werner Baumann</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Szabolcs Szakacsits wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sun, 31 Aug 2008, Werner Baumann wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I am concerned about security implications of uncontrolled usermounts 
&lt;br&gt;&amp;gt;&amp;gt; and measures to make them secure. Something like you find in 
&lt;br&gt;&amp;gt;&amp;gt; doc/kernel.txt in the fuse-package.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; In the ntfs-3g man page I find this:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ntfs-3g is an NTFS driver, which can create, remove, rename, move files, 
&lt;br&gt;&amp;gt;&amp;gt; directories, hard links, and streams; it can read and write files, 
&lt;br&gt;&amp;gt;&amp;gt; including streams and sparse files; it can handle special files like 
&lt;br&gt;&amp;gt;&amp;gt; symbolic links, devices, and FIFOs; moreover it can also read 
&lt;br&gt;&amp;gt;&amp;gt; transparently compressed files. ... Access Handling and Security By 
&lt;br&gt;&amp;gt;&amp;gt; default, files and directories are owned by the effective user and group 
&lt;br&gt;&amp;gt;&amp;gt; of the mounting process and everybody has full read, write, execution and 
&lt;br&gt;&amp;gt;&amp;gt; directory browsing permissions. If you want to use permissions handling 
&lt;br&gt;&amp;gt;&amp;gt; then use the uid and/or the gid options together with the umask, or fmask 
&lt;br&gt;&amp;gt;&amp;gt; and dmask options.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Compared with fuse, it looks like you dropped every security related 
&lt;br&gt;&amp;gt;&amp;gt; restriction.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I checked doc/kernel.txt and I can't figure out what you mean we dropped. 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&amp;nbsp;From ntfs-3g man-page:
&lt;br&gt;it can handle special files like symbolic links, devices, and FIFOs
&lt;br&gt;...
&lt;br&gt;By default ... everybody has full read, write, execution and directory 
&lt;br&gt;browsing permissions.
&lt;br&gt;&lt;br&gt;&amp;nbsp;From &lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html:&lt;/a&gt;&lt;br&gt;Special ACL configurations are also used to represent the sticky, setuid 
&lt;br&gt;and setgid flags which have no real equivalent in Windows.
&lt;br&gt;&lt;br&gt;Compare to this restriction in doc/kernel.txt:
&lt;br&gt;The solution is not to allow opening device files and ignore
&lt;br&gt;setuid and setgid bits when executing programs. &amp;nbsp;To ensure this
&lt;br&gt;fusermount always adds &amp;quot;nosuid&amp;quot; and &amp;quot;nodev&amp;quot; to the mount options
&lt;br&gt;for non-privileged mounts.
&lt;br&gt;&lt;br&gt;Nothing dropped? Or do I misunderstand your documentation?
&lt;br&gt;&lt;br&gt;&amp;gt; Please provide a specific exploit. Thank you.
&lt;br&gt;&amp;gt; 
&lt;br&gt;No I will not, it is not the kind of thing I am trained in. Are you sure 
&lt;br&gt;that is impossible to create a windows partition that, when mounted with 
&lt;br&gt;ntfs-3g, contains executable files, owned by root and setuid? According 
&lt;br&gt;to &lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html&lt;/a&gt;&amp;nbsp;and the man page, I 
&lt;br&gt;can't see any real obstacle.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;Werner
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19244955&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19244955.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246339</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T11:06:17Z</published>
	<updated>2008-08-31T11:06:17Z</updated>
	<author>
		<name>Szabolcs Szakacsits-3</name>
	</author>
	<content type="html">&lt;br&gt;On Sun, 31 Aug 2008, Werner Baumann wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I am concerned about security implications of uncontrolled usermounts 
&lt;br&gt;&amp;gt; and measures to make them secure. Something like you find in 
&lt;br&gt;&amp;gt; doc/kernel.txt in the fuse-package.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In the ntfs-3g man page I find this:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ntfs-3g is an NTFS driver, which can create, remove, rename, move files, 
&lt;br&gt;&amp;gt; directories, hard links, and streams; it can read and write files, 
&lt;br&gt;&amp;gt; including streams and sparse files; it can handle special files like 
&lt;br&gt;&amp;gt; symbolic links, devices, and FIFOs; moreover it can also read 
&lt;br&gt;&amp;gt; transparently compressed files. ... Access Handling and Security By 
&lt;br&gt;&amp;gt; default, files and directories are owned by the effective user and group 
&lt;br&gt;&amp;gt; of the mounting process and everybody has full read, write, execution and 
&lt;br&gt;&amp;gt; directory browsing permissions. If you want to use permissions handling 
&lt;br&gt;&amp;gt; then use the uid and/or the gid options together with the umask, or fmask 
&lt;br&gt;&amp;gt; and dmask options.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Compared with fuse, it looks like you dropped every security related 
&lt;br&gt;&amp;gt; restriction.
&lt;/div&gt;&lt;br&gt;I checked doc/kernel.txt and I can't figure out what you mean we dropped. 
&lt;br&gt;&lt;br&gt;Please provide a specific exploit. Thank you.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Szaka
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19246339&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19246339.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19243994</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T10:03:02Z</published>
	<updated>2008-08-31T10:03:02Z</updated>
	<author>
		<name>Werner Baumann</name>
	</author>
	<content type="html">&lt;br&gt;Szabolcs Szakacsits wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Sun, 31 Aug 2008, Werner Baumann wrote:
&lt;br&gt;&amp;gt;&amp;gt; Szabolcs Szakacsits wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; What is the &amp;quot;bunch of things&amp;quot; to make 'mount -t ntfs-3g ...' work for an 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; unprivileged user? 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://ntfs-3g.org/support.html#useroption&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org/support.html#useroption&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It would like not only to know &amp;quot;what to do&amp;quot;, but &amp;quot;how it works&amp;quot;. The 
&lt;br&gt;&amp;gt;&amp;gt; mount(8)-program executes this code, immediately after parsing the 
&lt;br&gt;&amp;gt;&amp;gt; command line:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (getuid () != geteuid ()) {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;suid = 1;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (types || options || readwrite || nomtab || mount_all ||
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fake || mounttype || (argc + specseen) != 1)
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die (EX_USAGE, _(&amp;quot;mount: only root can do that&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; - mount(8) usually is setuid root (otherwise unprivileged mounts
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;*with* an entry in fstab would not work)
&lt;br&gt;&amp;gt;&amp;gt; - when the &amp;quot;-t&amp;quot; option is present on the command line, &amp;quot;types&amp;quot; is
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;not NULL
&lt;br&gt;&amp;gt;&amp;gt; - both conditions are true and mount will terminate.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; *How* do you get around this?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Ok, so there are mounts which don't support it yet. This only makes the 
&lt;br&gt;&amp;gt; current unprivileged mount situation more unfortunate ...
&lt;br&gt;&amp;gt;
&lt;/div&gt;I refer to the mount and umount-program from 
&lt;br&gt;ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/
&lt;br&gt;Please tell me your source. It looks like you are &amp;nbsp;using a patched 
&lt;br&gt;version of mount. But the people who patched mount to allow unprivileged 
&lt;br&gt;mounts without entry in fstab &amp;quot;forgot&amp;quot; to apply a corresponding patch to 
&lt;br&gt;umount. But they surely carefully examined all the other, not that 
&lt;br&gt;obvious, implications of their patch?
&lt;br&gt;&lt;br&gt;&amp;gt; Full ownership and permission support is provided separately which is 
&lt;br&gt;&amp;gt; documented in the first paragraph of the ntfs-3g home page and accessible 
&lt;br&gt;&amp;gt; at
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 	&lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&amp;gt;
&lt;br&gt;This link is about mapping ntfs ownership and permissions to unix 
&lt;br&gt;ownership and permissions.
&lt;br&gt;I am concerned about security implications of uncontrolled usermounts 
&lt;br&gt;and measures to make them secure. Something like you find in 
&lt;br&gt;doc/kernel.txt in the fuse-package.
&lt;br&gt;&lt;br&gt;In the ntfs-3g man page I find this:
&lt;br&gt;&lt;br&gt;ntfs-3g is an NTFS driver, which can
&lt;br&gt;create, remove, rename, move files, directories, hard links, and
&lt;br&gt;streams; it can read and write files, including
&lt;br&gt;streams and sparse files; it can handle special files like
&lt;br&gt;symbolic links, devices, and FIFOs; moreover it can also read
&lt;br&gt;transparently compressed files.
&lt;br&gt;...
&lt;br&gt;Access Handling and Security
&lt;br&gt;By default, files and directories are owned by the effective
&lt;br&gt;user and group of the mounting process and everybody has
&lt;br&gt;full read, write, execution and directory browsing permissions.
&lt;br&gt;If you want to use permissions handling then use the
&lt;br&gt;uid and/or the gid options together with the
&lt;br&gt;umask, or fmask and dmask options.
&lt;br&gt;&lt;br&gt;Compared with fuse, it looks like you dropped every security related 
&lt;br&gt;restriction.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;Werner
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19243994&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19243994.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246338</id>
	<title>Re: linux kernel 2.6.27-rc5 and fuse gives no LOOKUP_ACCESS</title>
	<published>2008-08-31T08:23:16Z</published>
	<updated>2008-08-31T08:23:16Z</updated>
	<author>
		<name>Szabolcs Szakacsits-3</name>
	</author>
	<content type="html">&lt;br&gt;On Sun, 31 Aug 2008, Lars Oliver Hansen wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I tried to make fuse 2.7.4 in order to add it as a kernel module because
&lt;br&gt;&amp;gt; I didn't choose it in the kernel configuration of kernel 2.6.27-rc5 and
&lt;br&gt;&amp;gt; I need it to access my external USB harddisk and I didn't want to
&lt;br&gt;&amp;gt; recompile the kernel (I use Ubuntu 8.04 and compiled a custom kernel. My
&lt;br&gt;&amp;gt; external harddisk has a NTFS file system and I enabled usbstorage and
&lt;br&gt;&amp;gt; NTFS support in the custom kernel. dmesg output looks identical with
&lt;br&gt;&amp;gt; regard to usb storage to Ubuntus generic kernel and the external
&lt;br&gt;&amp;gt; harddisk worked under Ubuntu, accessing the location &amp;quot;external harddisk&amp;quot;
&lt;br&gt;&amp;gt; with the custom kernel yields an error &amp;quot;fuse missing&amp;quot;).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Make gives an error about a missing LOOKUP_ACCESS declaration. I read in
&lt;br&gt;&amp;gt; a previous posting to this mailing list that it is supposed to be in
&lt;br&gt;&amp;gt; linux/namei.h.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Linux kernel 2.6.27-rc5 namei.h doesn't have a LOOKUP_ACCESS
&lt;br&gt;&amp;gt; declaration. (it has different LOOKUP_xxx declarations).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Can you help here?
&lt;/div&gt;&lt;br&gt;Your only option (which is far the best [performance, functionality] than 
&lt;br&gt;anything else) is FUSE from the 2.6.27 kernel. 
&lt;br&gt;&lt;br&gt;No need for kernel NTFS support which may or may not cause unexpected 
&lt;br&gt;problems for you.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Szaka
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19246338&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/linux-kernel-2.6.27-rc5-and-fuse-gives-no-LOOKUP_ACCESS-tp19241786p19246338.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246337</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T08:12:56Z</published>
	<updated>2008-08-31T08:12:56Z</updated>
	<author>
		<name>Szabolcs Szakacsits-3</name>
	</author>
	<content type="html">&lt;br&gt;On Sun, 31 Aug 2008, Werner Baumann wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Szabolcs Szakacsits wrote:
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; What is the &amp;quot;bunch of things&amp;quot; to make 'mount -t ntfs-3g ...' work for an 
&lt;br&gt;&amp;gt; &amp;gt;&amp;gt; unprivileged user? 
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; &lt;a href=&quot;http://ntfs-3g.org/support.html#useroption&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org/support.html#useroption&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; It would like not only to know &amp;quot;what to do&amp;quot;, but &amp;quot;how it works&amp;quot;. The 
&lt;br&gt;&amp;gt; mount(8)-program executes this code, immediately after parsing the 
&lt;br&gt;&amp;gt; command line:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (getuid () != geteuid ()) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;suid = 1;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (types || options || readwrite || nomtab || mount_all ||
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fake || mounttype || (argc + specseen) != 1)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die (EX_USAGE, _(&amp;quot;mount: only root can do that&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - mount(8) usually is setuid root (otherwise unprivileged mounts
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;*with* an entry in fstab would not work)
&lt;br&gt;&amp;gt; - when the &amp;quot;-t&amp;quot; option is present on the command line, &amp;quot;types&amp;quot; is
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;not NULL
&lt;br&gt;&amp;gt; - both conditions are true and mount will terminate.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; *How* do you get around this?
&lt;/div&gt;&lt;br&gt;Ok, so there are mounts which don't support it yet. This only makes the 
&lt;br&gt;current unprivileged mount situation more unfortunate ...
&lt;br&gt;&lt;br&gt;This is what you wrote previously:
&lt;br&gt;&lt;br&gt;: As the user uses some other program for mounting, he can't expect umount 
&lt;br&gt;: to unmount. Please don't mix up the traditional way (mount an fstab) and 
&lt;br&gt;: the fuse way.
&lt;br&gt;&lt;br&gt;I don't agree with the first one (user feedbacks but it's also a personal 
&lt;br&gt;opinion). 
&lt;br&gt;&lt;br&gt;I also don't agree about having two (actually many hundred) different ways 
&lt;br&gt;to mount/unmount file systems is a good thing (the explanation is KISS, 
&lt;br&gt;Occam's razor, etc). I don't mind alternative ways (I [must] use them all 
&lt;br&gt;the time) but users, frameworks, software expect well-known, standard 
&lt;br&gt;behaviors and by not conforming to them opens Pandora's box.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; If you think that an unprivileged ntfs-3g user can overtake the system in 
&lt;br&gt;&amp;gt; &amp;gt; whatever way (malware, etc) then we would be very greatful if you could 
&lt;br&gt;&amp;gt; &amp;gt; explain technically how it's possible, or if you just simply demonstrate 
&lt;br&gt;&amp;gt; &amp;gt; it.
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; This is the second step. The first step should be your documentation of 
&lt;br&gt;&amp;gt; the security policies you implemented (or intended to implement). This 
&lt;br&gt;&amp;gt; documentation is lacking (or at least insufficient). All I could find at 
&lt;br&gt;&amp;gt; the above link is:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - the user must have &amp;quot;access right&amp;quot; to the device and the mount point.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;(You probably mean read-, write- and execute-permission.)
&lt;br&gt;&amp;gt; - the administrator *may* restrict unprivileged mounts to members of
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;a special group. This is not build in, but the administrator must
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;explicitly enforce this.
&lt;br&gt;&amp;gt; Is this all of your security policy? What about file mode? May a 
&lt;br&gt;&amp;gt; unprivileged user make files world-executable?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I could spend my time reading the source code or running a lot of tests 
&lt;br&gt;&amp;gt; to get an answer to this questions. But I do not think this is the way 
&lt;br&gt;&amp;gt; to handle security. This can only be the second step to check whether 
&lt;br&gt;&amp;gt; your code holds what you promise.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; After all, this is about the integrity of the file system. Changing the 
&lt;br&gt;&amp;gt; security policy deserves a proper documentation. FAQ is not appropriate 
&lt;br&gt;&amp;gt; for this.
&lt;/div&gt;&lt;br&gt;The FAQ entry was only a reply to your question. Access handling and 
&lt;br&gt;security is documented at the top of the ntfs-3g manual (man ntfs-3g).
&lt;br&gt;&lt;br&gt;Full ownership and permission support is provided separately which is 
&lt;br&gt;documented in the first paragraph of the ntfs-3g home page and accessible 
&lt;br&gt;at
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://pagesperso-orange.fr/b.andre/security.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://pagesperso-orange.fr/b.andre/security.html&lt;/a&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;We had no possibility to fully security audit it yet unlike the base 
&lt;br&gt;ntfs-3g version (several external and internal security experts, e.g. 
&lt;br&gt;Fedora found two, SUSE one security problem which were fixed of course). 
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Szaka
&lt;br&gt;&amp;nbsp;
&lt;br&gt;--
&lt;br&gt;NTFS-3G: &amp;nbsp;&lt;a href=&quot;http://ntfs-3g.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org&lt;/a&gt;&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19246337&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19246337.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19241786</id>
	<title>linux kernel 2.6.27-rc5 and fuse gives no LOOKUP_ACCESS</title>
	<published>2008-08-31T05:28:35Z</published>
	<updated>2008-08-31T05:28:35Z</updated>
	<author>
		<name>Lars Oliver Hansen</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I tried to make fuse 2.7.4 in order to add it as a kernel module because
&lt;br&gt;I didn't choose it in the kernel configuration of kernel 2.6.27-rc5 and
&lt;br&gt;I need it to access my external USB harddisk and I didn't want to
&lt;br&gt;recompile the kernel (I use Ubuntu 8.04 and compiled a custom kernel. My
&lt;br&gt;external harddisk has a NTFS file system and I enabled usbstorage and
&lt;br&gt;NTFS support in the custom kernel. dmesg output looks identical with
&lt;br&gt;regard to usb storage to Ubuntus generic kernel and the external
&lt;br&gt;harddisk worked under Ubuntu, accessing the location &amp;quot;external harddisk&amp;quot;
&lt;br&gt;with the custom kernel yields an error &amp;quot;fuse missing&amp;quot;).
&lt;br&gt;&lt;br&gt;Make gives an error about a missing LOOKUP_ACCESS declaration. I read in
&lt;br&gt;a previous posting to this mailing list that it is supposed to be in
&lt;br&gt;linux/namei.h.
&lt;br&gt;&lt;br&gt;Linux kernel 2.6.27-rc5 namei.h doesn't have a LOOKUP_ACCESS
&lt;br&gt;declaration. (it has different LOOKUP_xxx declarations).
&lt;br&gt;&lt;br&gt;Can you help here?
&lt;br&gt;&lt;br&gt;Thanks and best regards
&lt;br&gt;&lt;br&gt;Lars
&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19241786&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/linux-kernel-2.6.27-rc5-and-fuse-gives-no-LOOKUP_ACCESS-tp19241786p19241786.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19240239</id>
	<title>Re: unmounting with /sbin/umount.fuse?</title>
	<published>2008-08-31T01:10:34Z</published>
	<updated>2008-08-31T01:10:34Z</updated>
	<author>
		<name>Werner Baumann</name>
	</author>
	<content type="html">&lt;br&gt;Szabolcs Szakacsits wrote:
&lt;br&gt;&amp;gt;&amp;gt; What is the &amp;quot;bunch of things&amp;quot; to make 'mount -t ntfs-3g ...' work for an 
&lt;br&gt;&amp;gt;&amp;gt; unprivileged user? 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://ntfs-3g.org/support.html#useroption&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://ntfs-3g.org/support.html#useroption&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;It would like not only to know &amp;quot;what to do&amp;quot;, but &amp;quot;how it works&amp;quot;. The 
&lt;br&gt;mount(8)-program executes this code, immediately after parsing the 
&lt;br&gt;command line:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if (getuid () != geteuid ()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;suid = 1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (types || options || readwrite || nomtab || mount_all ||
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fake || mounttype || (argc + specseen) != 1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;die (EX_USAGE, _(&amp;quot;mount: only root can do that&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;- mount(8) usually is setuid root (otherwise unprivileged mounts
&lt;br&gt;&amp;nbsp; &amp;nbsp;*with* an entry in fstab would not work)
&lt;br&gt;- when the &amp;quot;-t&amp;quot; option is present on the command line, &amp;quot;types&amp;quot; is
&lt;br&gt;&amp;nbsp; &amp;nbsp;not NULL
&lt;br&gt;- both conditions are true and mount will terminate.
&lt;br&gt;&lt;br&gt;*How* do you get around this?
&lt;br&gt;&lt;br&gt;&amp;gt; If you think that an unprivileged ntfs-3g user can overtake the system in 
&lt;br&gt;&amp;gt; whatever way (malware, etc) then we would be very greatful if you could 
&lt;br&gt;&amp;gt; explain technically how it's possible, or if you just simply demonstrate 
&lt;br&gt;&amp;gt; it.
&lt;br&gt;&amp;gt; 
&lt;br&gt;This is the second step. The first step should be your documentation of 
&lt;br&gt;the security policies you implemented (or intended to implement). This 
&lt;br&gt;documentation is lacking (or at least insufficient). All I could find at 
&lt;br&gt;the above link is:
&lt;br&gt;&lt;br&gt;- the user must have &amp;quot;access right&amp;quot; to the device and the mount point.
&lt;br&gt;&amp;nbsp; &amp;nbsp;(You probably mean read-, write- and execute-permission.)
&lt;br&gt;- the administrator *may* restrict unprivileged mounts to members of
&lt;br&gt;&amp;nbsp; &amp;nbsp;a special group. This is not build in, but the administrator must
&lt;br&gt;&amp;nbsp; &amp;nbsp;explicitly enforce this.
&lt;br&gt;Is this all of your security policy? What about file mode? May a 
&lt;br&gt;unprivileged user make files world-executable?
&lt;br&gt;&lt;br&gt;I could spend my time reading the source code or running a lot of tests 
&lt;br&gt;to get an answer to this questions. But I do not think this is the way 
&lt;br&gt;to handle security. This can only be the second step to check whether 
&lt;br&gt;your code holds what you promise.
&lt;br&gt;&lt;br&gt;After all, this is about the integrity of the file system. Changing the 
&lt;br&gt;security policy deserves a proper documentation. FAQ is not appropriate 
&lt;br&gt;for this.
&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;Werner
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------
&lt;br&gt;This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
&lt;br&gt;Build the coolest Linux based applications with Moblin SDK &amp; win great prizes
&lt;br&gt;Grand prize is a trip for two to an Open Source event anywhere in the world
&lt;br&gt;&lt;a href=&quot;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://moblin-contest.org/redirect.php?banner_id=100&amp;url=/&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;fuse-devel mailing list
&lt;br&gt;&lt;a href=&quot;http://www.nabble.com/user/SendEmail.jtp?type=post&amp;post=19240239&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;fuse-devel@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/fuse-devel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/fuse-devel&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://www.nabble.com/unmounting-with--sbin-umount.fuse--tp18914896p19240239.html" />
</entry>

<entry>
	<id>tag:www.nabble.com,2006:post-19246335</id>
	<title>Re: [PATCHSET] CUSE: implement CUSE</title>
	<published>2008-08-30T21:52:06Z</published>
	<updated>2008-08-30T21:52:06Z</updated>
	<author>
		<name>hooanon05</name>
	</author>
	<content type="html">&lt;br&gt;Mike Hommey:
&lt;br&gt;&amp;gt; It would be nice to have BUSE, Block device in Userspace, too.
&lt;br&gt;&lt;br&gt;While it is not based upon FUSE, you may be interested in ULOOP driver
&lt;br&gt;which is based upon the loopback block device.
&lt;br&gt;Here is a README file from &lt;a href=&quot;http://aufs.sourceforge.net/uloop.txt&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://aufs.sourceforge.net/uloop.txt&lt;/a&gt;.
&lt;br&gt;If you want to checkout the source files, please refer to
&lt;br&gt;&lt;a href=&quot;http://aufs.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://aufs.sourceforge.net/&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Junjiro R. Okajima
&lt;br&gt;&lt;br&gt;----------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;ULOOP -- Loopback block device in userspace
&lt;br&gt;(and a sample for HTTP and generic block device)
&lt;br&gt;Junjiro Okajima
&lt;br&gt;&lt;br&gt;# $Id: 00readme.txt,v 1.6 2008/08/17 23:04:29 sfjro Exp $
&lt;br&gt;&lt;br&gt;&lt;br&gt;0. Introduction
&lt;br&gt;As you know, there is a Loopback block device in Linux, /dev/loop,
&lt;br&gt;which enables you to mount a fs-image local file.
&lt;br&gt;Also it can adopt a userspace program, such as cryptloop.
&lt;br&gt;This sample ULOOP driver makes it generic, and enables to adopt any
&lt;br&gt;userspace program.
&lt;br&gt;You can give an empty or non-existing file to /dev/loop backend.
&lt;br&gt;When a process reads from /dev/loop, this dirver wakes a user process
&lt;br&gt;up and passes the I/O transaction to it. A user process makes the
&lt;br&gt;required block ready and tells the driver. Then the driver completes
&lt;br&gt;the I/O transaction.
&lt;br&gt;Also there is sample scripts or usage for diskless nodes working with
&lt;br&gt;aufs.