mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kapil a <kapilann@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: file system question
Date: Wed, 8 Feb 2006 19:13:21 -0500	[thread overview]
Message-ID: <ef2d59350602081613y5ba8c264j45a64363360bd58e@mail.gmail.com> (raw)
In-Reply-To: <ef2d59350602081611h4492bf47ne24e3d591efd29e7@mail.gmail.com>

---------- Forwarded message ----------
From: kapil a <kapilann@gmail.com>
Date: Feb 8, 2006 7:11 PM
Subject: Re: file system question
To: Avishay Traeger <atraeger@cs.sunysb.edu>


thanks for the reply and sorry for the unclear question.

What i meant was when i do an "ls" in a directory that is part of the
ext2 filesystem, i can see a  "write" call in the strace output at the
end and it writes the directory contents to stdout. However when i
issue "ls" in the mount point of my file system, i dont have the
"write" call. The strace ends with the getdents64 call.

When i did some debugging i found that filldir which is suppose to
fill the dirent with the directory entries does its job. My filesystem
currently has only one inode with one block of data where i have a
".", ".." and "test" written into it.

The problem is it does not go further to do some of the other calls as
in a mountpoint in ext2 file system.

Hope i am clear now.

kaps


On 2/8/06, Avishay Traeger <atraeger@cs.sunysb.edu> wrote:
> 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/
>
>

  parent reply	other threads:[~2006-02-09  0:13 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-08 23:39 kapil a
2006-02-09  0:01 ` Avishay Traeger
     [not found]   ` <ef2d59350602081611h4492bf47ne24e3d591efd29e7@mail.gmail.com>
2006-02-09  0:13     ` kapil a [this message]
2006-02-09  1:15       ` Bernd Eckenfels
     [not found]     ` <1139447727.4902.13.camel@rockstar.fsl.cs.sunysb.edu>
2006-02-09 17:57       ` kapil a
2006-02-09 21:54         ` Ram Gupta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ef2d59350602081613y5ba8c264j45a64363360bd58e@mail.gmail.com \
    --to=kapilann@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®