Re: file system question

From: Avishay Traeger
Date: Wed Feb 08 2006 - 18:59:12 EST


On Wed, 2006-02-08 at 18:39 -0500, kapil a wrote:
> I am trying to write a file system for 2.6. I have written the
> required things to mount my file system and now i am trying to get
> some f_op's and d_op's. I was trying to make the 'ls' command work. So
> i wrote a myfs_readdir() and linked it to the f_op field. My routine
> gets called and also filldir gets called and stores the data in the
> dirent but i dont get the output in stdout.
>
> On using strace i find that "ls" does not perform all the calls that
> a "ls" in a directory mountedf in ext2 performs. To be specific, the
> strace ouput ends after the getdents64 system call. In the normal "ls"
> strace, i find there are a couple of more system calls namely a fstat
> followed by a write to stdout and some more mmap calls.

Correct. The getdents system call will call your readdir function.

> I dont understand the reason behind why the write is not called. My
> guess is i have not over-ridden some function that i have to write as
> part of my file system instead of using the default method.

Why would your write function get called when 'ls' writes to stdout?
Please explain your question more clearly.


Avishay Traeger
http://www.fsl.cs.sunysb.edu/~avishay/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/