> -----Original Message----- > From: Rajat Sharma [mailto:fs.ra...@gmail.com] > Sent: Wednesday, January 30, 2013 11:16 AM > To: Pranay Kumar Srivastava > Cc: kernelnewbies@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.shrivast...@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@kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies