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