shobhit puri | 16 May 11:17
Picon

After 'readdir' operation, gettattr for parent directory is getting called in the midst, even when gettattr for the underlying files/folders is not over

Hello

I hope you are doing well. I am Shobhit Puri, pursuing my undergraduate
from Indian Institute of Information Technology, India.
I am working on integrating FUSE with Globus gridftp client API.

I am facing an error sometimes when another operation wants to use the
globus handle which is already occupied with some other operation.
For eg:- In terms of FUSE operations:
After a call to readdir operation the getattr operation for all the
underlying files and folders in called. Now, if the number of files are
more in number, then, while the gettattr function is already in  progress
for the underlying
files, FUSE calls for getattr operation for the parent directory before the
getattr for the underlying files is over. This gives the following errors:
sometimes it shows "operation already in progress", sometimes "Assertion
node failed in file globus_ftp_client.c at line 331".

I was thinking of creating a connection pool in globus and allocating some
other handle from the pool to the process who is trying to access one
handle which is already in use.
Have I understood the problem clearly? Is it a problem of FUSE code? I am
asking because when I just use FUSE program without integrating it with the
globus gridftp, their is not such call in the midst, when other getattr
operation are still going.

Can you please guide me regrading the same? I would be really thankful to
you for your kind help.

Thanks in advance
(Continue reading)

Christopher Howard | 16 May 03:09

errors during readdir function

Let's say, in my FUSE readdir function, there is an error; say that the
code that is constructing the directory entry name fails (because malloc
returns NULL or some other such problem) and so I don't want to continue
producing directory entries, but I don't necessarily want to kill my
whole file system program.

What errors am I allowed to return? Can I use anything from errno.h that
seems fitting? Or am I restricted to the subset of a particular
system/POSIX call? (like getdents() or readdir()) In the above
situation, I was thinking that something like EIO or EAGAIN sounded
good, but I'm not sure if they are allowed/acceptable here.

Also, in my readdir function, I return the negative of the error,
correct? (Like in my getattr function.)

--

-- 
frigidcode.com
indicium.us

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
fuse-devel mailing list
(Continue reading)

Christopher Howard | 15 May 21:50

off_t and size_t

This is more of a general programming question than a FUSE question, but
you guys are more likely to be educated about this than most people I know:

Does anyone happen to know the historical or practical reason why off_t
(from the stat structure) is a signed integer, rather than unsigned like
size_t? I'm finding this slightly inconvenient in developing my
FUSE-based file system, because the size of the data to be represented
as a file is stored as the size_t type. So I have to do some kind of
check to make sure the data isn't too large.

Just curious... it seems like it would have been more convenient for us
if off_t and size_t where both unsigned, and I can't think of any reason
why a negative off_t value would be needed. (Files with a negative size
is a strange concept.)

--

-- 
frigidcode.com
indicium.us

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
fuse-devel mailing list
(Continue reading)

Amit Garg | 15 May 11:39
Picon

Fuse + Ecryptfs

Hi,

I am working on Fuse based on file system, i want encrypt my files using
ecryptfs.
but i do not know can we use FUSE + Ecryptfs together.

Please clarify my Doubt.

Thanks & Regards,
Amit Garg
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Stef Bon | 13 May 11:31
Picon

Get the pid next to the tid??

Hi,

I'm writing a FUSE fs which checks the pid (well it's actually a tid!).

A process get's access when it earlier connected via a socket, en there the
pid via the credentials is stored. Apart from the question that that
pid can also
be a tid, my question is how can I get the pid
(main process pid which is present as /proc/PID)
when the tid is known.

Stef

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Christopher Howard | 12 May 20:27

st_nlink and directories

Noob here, trying to implement my first FUSE-based filesystem. Question:
Could someone clarify for me the purpose and significance of st_nlink as
it relates to directories and, more importantly, how this should be used
in FUSE?

From the docs I could find, it seems that st_nlink is usually == the
number of directories entries, including '.' and '..'. However, it seems
that in some other FUSE-based file system I've been using (like sshfs)
this is always set to the value of 1 for directories. (According to "ls -l".

--

-- 
frigidcode.com
indicium.us

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
fuse-devel mailing list
fuse-devel@...
https://lists.sourceforge.net/lists/listinfo/fuse-devel
Nikolaus Rath | 11 May 15:21
Favicon

statvfs vs statfs

Hello,

According to statvfs(3), a file system is supposed to use blocks of
f_frsize bytes when reporting its size:

           struct statvfs {
               unsigned long  f_bsize;    /* file system block size */
               unsigned long  f_frsize;   /* fragment size */
               fsblkcnt_t     f_blocks;   /* size of fs in f_frsize units */

Unfortunately, this leaves applications that use statfs() rather than
statvfs out in the cold, since the statvfs f_bsize value also ends up as
the statfs st_bsize value, and the f_frsize value is lost. Tools like du
therefore report a wrong file system size for fuse file systems that use
different values for f_bsize and f_frsize.

What's the proper way to handle this? Should the FUSE kernel module use
f_frsize instead of f_bsize when handling a statfs request?

Best,

   -Nikolaus

--

-- 
 »Time flies like an arrow, fruit flies like a Banana.«

  PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6  02CF A9AD B7F8 AE4E 425C

------------------------------------------------------------------------------
Live Security Virtual Conference
(Continue reading)

Starbuck | 11 May 02:01
Favicon

First time posting, concerns/questions about FUSE

Hi - I hope this is the right list for this. I'm a long-time developer but not a Linux/C stud. I've worked with
Windows implementations from Suchwerk and Dokan, but not Linux. To implement FUSE solutions over Linux
I'll need to contract the right talent. Before making an investment in FUSE I'd like to share concerns with
developers here and get feedback.

A lot of FUSE projects were started as tests and then abandoned. This applies to file systems as well as
bindings. The wiki pages host a virtual graveyard of projects, the "dead walking amongst the living"
projects that are still being maintained. As with any FOSS, it's tough to dedicate to FUSE when so many
other projects seem to have died in incubation. It would be very helpful for anyone researching FUSE in the
wiki to be able to differentiate between "live" projects and those which are no longer maintained.

I'm not sure how stable FUSE is in terms of multi-user access, concurrent reads and writes, etc. As an
example, let's say a FUSE implementation is being used where Apache is serving "static" web pages, where
the .html files are actually generated from a database. How hard can this be hit without falling over? Can
the file system keep up with multi-threaded access like this?

Related to the above, I'm frustrated with the number of language bindings which are documented, where most
of them are no longer maintained and weren't really stable to start. What language bindings can really be
used today to implement FUSE? And (now related to my second concern) which ones are robust and which ones
are not? Of course it's all FOSS and we are free to pick up where someone else left off, but in most cases this
really means starting from scratch - if other developers could have continued with their implementation
they probably would have. But most binding projects seem to document insurmountable problems in the last
release, rather than simple lack of interest.

As a newcomer I'm faced with looking at every project for code which seems to work, weeding out what doesn't
work, and perhaps chucking the whole idea due to the time it will take to go through all of this. Of course
once a good base has been defined I'm perfectly comfortable with re-publishing some or all of whatever
I've commissioned for development - but between here and there I'm looking at huge hurdles.

Thanks for any comments!
(Continue reading)

Mohammed Alhussein | 10 May 21:33
Picon

File operations and Disk Clusters

Hello,

I'm working on a project where I need to reserve a segment of every cluster in the hard disk for some specific function.
I would like the filesystem when executing a read or write operation to utilize only part of the clusters in
the HD,  and 
the reserved segment of the clusters to be used utilizing some system wide variables. So for example, I
would like a read 
operation to only return a certain part of the cluster, and the write operation to only write on a certain
part of the cluster.

So far, I think FUSE will give me the ability to have filesystem wide variables that I can utilize for my computations.
But I'm not sure if the file access operations implemented by FUSE will give me the ability to manipulate
clusters the 
way I would like.

I've read the source code of the different file access operations, and wasn't able to find a point where I can
interact with clusters.

I would appreciate if someone can let me know if this is possible, and where I can start looking. As I'm sure my 
ignorance is working against me as usually. I did submit a question about a month go, but I think I phrased it badly.

Thanks.
 - Mo.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
(Continue reading)

Kobi Cohen-Arazi | 8 May 19:16
Picon

Issues when dealing with cached buffers

Hi All,

We built a library using fuse high level API (multi-threaded loop) and
encounter some issues when reading file content.

An app has a some data that is updated dynamically on the fly. The data is
exposed via FUSE as a JSON file.
Whenever an external app reads that file, we need to generate a snapshot of
the data and the snapshot must not be affected by further data updates.

So we would like to guarantee the following semantics in our library:
Whenever getattr is being invoked, we (might) update the content of the
file. That means file size might be also changing. That part works w/o
issues.

When open is invoked, we create a separate buffer that would be used for
the following consecutive read request.
In open, we attach that buffer to the "file handle" so we can access the
cached content in the next read/fgetattr callbacks. We will free that
cached buffer in release call.
The idea is to serve read/fgetattr calls from a cached buffer which is
separate from the original buffer, that way we would like to guarantee the
content and size of the file even when additional getattr calls might
change the original buffer while serving from the cached file.

The issue we are seeing, is that when file is opened, and data being read
from the cached buffer, and another getattr call is being invoked
(potentially from a different thread) and returns different file size (say
because update generates a different file size), the ongoing read calls
seem to use the new file size hence retrieving wrong data from the cached
(Continue reading)

Kaiwii Ho | 7 May 07:42
Picon

how to port the fuse into embedded linux platforms

i can use the cross compiler to compile the fuse.
Andi feel confused,now,there is no ko output after making.
but  as i know that the fuse can only work when the the fuse module is
inserted into the kernel.
So,how can i do right now?
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

Gmane