Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1405024
| From | James Bottomley <James.Bottomley@HansenPartnership.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/3] vfs: merge .d_select_inode() into .d_real() |
| Date | 2016-05-22 18:40 +0200 |
| Message-ID | <rBEA1-30A-1@gated-at.bofh.it> (permalink) |
| References | <rzVbX-1Ac-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Tue, 2016-05-17 at 23:53 +0200, Miklos Szeredi wrote: > The two methods essentially do the same: find the real dentry/inode > belonging to an overlay dentry. The difference is in the usage: > > vfs_open() uses ->d_select_inode() and expects the function to > perform copy-up if necessary based on the open flags argument. > > file_dentry() uses ->d_real() passing in the overlay dentry as well > as the underlying inode. > > vfs_rename() uses ->d_select_inode() but passes zero flags. > ->d_real() with a zero inode would have worked just as well here. > > This patch merges the functionality of ->d_select_inode() into > ->d_real() by adding an 'open_flags' argument to the latter. Actually, before you do this, I have a use case for keeping them separate: The shiftfs prototype I've posted cannot use d_select_inode because it's shifting the uid/gids, so the inode permissions have to be done on the upper inode. However, several filesystems make use of file_dentry() and for them, I need to supply the lower dentry, so I end up setting d_real but not d_select_inode. for me, then vfs_open and vfs_rename have to operate on the upper inode but all uses of file_dentry should return the lower dentry. James
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 1/3] vfs: merge .d_select_inode() into .d_real() Miklos Szeredi <miklos@szeredi.hu> - 2016-05-18 00:00 +0200
[PATCH 2/3] vfs: document ->d_real() Miklos Szeredi <miklos@szeredi.hu> - 2016-05-18 00:00 +0200
Re: [PATCH 1/3] vfs: merge .d_select_inode() into .d_real() James Bottomley <James.Bottomley@HansenPartnership.com> - 2016-05-22 18:40 +0200
Re: [PATCH 1/3] vfs: merge .d_select_inode() into .d_real() Miklos Szeredi <miklos@szeredi.hu> - 2016-05-27 10:20 +0200
csiph-web