Where does kernel store per task file position?

Rajat Sharma fs.rajat at gmail.com
Wed Jan 30 01:34:53 EST 2013


Correct :)


On Wed, Jan 30, 2013 at 12:01 PM, Pranay Kumar Srivastava <
Pranay.Shrivastava at hcl.com> wrote:

>
>
> > -----Original Message-----
> > From: Rajat Sharma [mailto:fs.rajat at gmail.com]
> > Sent: Wednesday, January 30, 2013 11:16 AM
> > To: Pranay Kumar Srivastava
> > Cc: kernelnewbies at kernelnewbies.org
> > Subject: Re: Where does kernel store per task file position?
> >
> > > I'm still not able to figure out where exactly is the position of file
> stored per
> > task_struct.
> > struct file * itself is per process (task_struct) so file->f_pos is file
> position per
> > process, if thats what you are looking for. I hope you haven't assumed
> that
> > struct file itself is unique for a file, i.e. per inode? Then that
> assumption is
> > wrong.
> > -Rajat
>
> [Pranay Kumar Srivastava] That really was a stupid question, it says right
> there get_empty_filp() in do_sys_open. For forks the inherited file have
> common struct file [Correct?] but for the files opened after fork in
> child/parent will not have shared struct file[Correct?].  So the same
> dentry can be pointed to by multiple struct file[Correct?] that's why
> there's an increment of dentry while doing lookup[Correct?].
>
> Thanks a lot!
> >
> > On Tue, Jan 29, 2013 at 6:38 PM, Pranay Kumar Srivastava
> > <Pranay.Shrivastava at hcl.com> wrote:
> > Hi Everyone,
> >
> > I was trying to find out where does Linux store per process file
> position?
> > Since struct file is allocated once when the file is first opened
> > (get_empty_filp() via do_sys_open) .I looked at these,
> >
> > Copy_process--->copy_files-->dup_fd  it seemed to allocate only (struct
> > file*)
> >
> > struct files_struct , but I couldn't find any field that is actually
> being used to
> > store the file position.
> >
> >
> > I'm still not able to figure out where exactly is the position of file
> stored per
> > task_struct. Secondly even if this was being saved does the kernel
> changes
> > f_pos of struct file whenever a (read/write) is done? I don't that
> happens
> > [Correct?].
> >
> > Regards,
> > Pranay Kumar Srivastava
> >
> >
> > ::DISCLAIMER::
> >
> ----------------------------------------------------------------------------------------------
> > ------------------------------------------------------
> >
> > The contents of this e-mail and any attachment(s) are confidential and
> > intended for the named recipient(s) only.
> > E-mail transmission is not guaranteed to be secure or error-free as
> > information could be intercepted, corrupted, lost, destroyed, arrive
> late or
> > incomplete, or may contain viruses in transmission. The e mail and its
> > contents (with or without referred errors) shall therefore not attach any
> > liability on the originator or HCL or its affiliates.
> > Views or opinions, if any, presented in this email are solely those of
> the
> > author and may not necessarily reflect the views or opinions of HCL or
> its
> > affiliates. Any form of reproduction, dissemination, copying, disclosure,
> > modification, distribution and / or publication of this message without
> the
> > prior written consent of authorized representative of HCL is strictly
> > prohibited. If you have received this email in error please delete it
> and notify
> > the sender immediately.
> > Before opening any email and/or attachments, please check them for
> viruses
> > and other defects.
> >
> >
> ----------------------------------------------------------------------------------------------
> > ------------------------------------------------------
> >
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20130130/bb2a75d1/attachment-0001.html 


More information about the Kernelnewbies mailing list