Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1405024

Re: [PATCH 1/3] vfs: merge .d_select_inode() into .d_real()

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

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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