Re: a question about opening file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 ---- 在 星期四, 2020-11-05 17:57:15 Miklos Szeredi <miklos@xxxxxxxxxx> 撰写 ----
 > On Thu, Nov 5, 2020 at 10:38 AM Chengguang Xu <cgxu519@xxxxxxxxxxxx> wrote:
 > >
 > >  ---- 在 星期四, 2020-11-05 16:07:26 Amir Goldstein <amir73il@xxxxxxxxx> 撰写 ----
 > >  > On Thu, Nov 5, 2020 at 6:39 AM Chengguang Xu <cgxu519@xxxxxxxxxxxx> wrote:
 > >  > >
 > >  > > Hello,
 > >  > >
 > >  > > I have a question about opening file of underlying filesystem in overlayfs,
 > >  > >
 > >  > > why we use overlayfs' path(vfsmount/dentry) struct for underlying fs' file
 > >  > >
 > >  > > in ovl_open_realfile()?  Is it by design?
 > >  >
 > >  > Sure. open_with_fake_path() is only used by overlayfs.
 > >  >
 > >  > IIRC, one of the reasons was to display the user expected path in
 > >  > /proc/<pid>/maps.
 > >  > There may have been other reasons.
 > >  >
 > >
 > > So if we do the mmap with overlayfs'  own page cache, then we don't have to
 > > use pseudo path for the reason above, right?
 > >
 > > Actually, the background is I'm trying to implement overlayfs' page cache for
 > > fixing mmap rorw issue. The reason why asking this is I need to open a writeback
 > > file which is used for syncing dirty data from overlayfs' own page cache to upper inode.
 > > However, if I use the pseudo path just like current opening behavior, the writeback
 > > file will hold a reference of vfsmount of overlayfs and it will cause umount fail with -EBUSY.
 > > So I want to open a writeback file with correct underlying path struct but not sure if
 > > there is any unexpected side effect. Any suggestion?
 > 
 > Should be no issue with plain dentry_open() for that purpose.  In fact
 > it would be really good to get rid of all that d_real*() mess
 > completely, but that seems some ways off.
 > 
 > Did you find the prototype we did with Amir a couple of years back?  I
 > can only find bits and pieces in my mailbox...
 > 

I searched in overlayfs mail list but unfortunately didn't  get useful info.
Seems Amir has a git tree for aops prototype but I'm not sure if that is the
prototype you mentioned.

https://github.com/amir73il/linux/commits/ovl-aops-wip

Hi Amir,

Do you know the prototype that Miklos mentioned above? Is that the
code in your ovl-aops-wip git tree?


Thanks,
Chengguang





[Index of Archives]     [Linux Filesystems Devel]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux