patch: VFS: Introduce inode-getting helpers for layered/unioned fs environments
original patch: jcadduono/android_kernel_samsung_universal8890/commit/e3c2fe84c96c350db4dbcf545a9e247d0525bb43
This commit is contained in:
parent
57cc77b401
commit
4c3ff3cd9b
1 changed files with 57 additions and 0 deletions
|
@ -470,4 +470,61 @@ static inline unsigned long vfs_pressure_ratio(unsigned long val)
|
|||
{
|
||||
return mult_frac(val, sysctl_vfs_cache_pressure, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
* d_inode - Get the actual inode of this dentry
|
||||
* @dentry: The dentry to query
|
||||
*
|
||||
* This is the helper normal filesystems should use to get at their own inodes
|
||||
* in their own dentries and ignore the layering superimposed upon them.
|
||||
*/
|
||||
static inline struct inode *d_inode(const struct dentry *dentry)
|
||||
{
|
||||
return dentry->d_inode;
|
||||
}
|
||||
|
||||
/**
|
||||
* d_inode_rcu - Get the actual inode of this dentry with ACCESS_ONCE()
|
||||
* @dentry: The dentry to query
|
||||
*
|
||||
* This is the helper normal filesystems should use to get at their own inodes
|
||||
* in their own dentries and ignore the layering superimposed upon them.
|
||||
*/
|
||||
static inline struct inode *d_inode_rcu(const struct dentry *dentry)
|
||||
{
|
||||
return ACCESS_ONCE(dentry->d_inode);
|
||||
}
|
||||
|
||||
/**
|
||||
* d_backing_inode - Get upper or lower inode we should be using
|
||||
* @upper: The upper layer
|
||||
*
|
||||
* This is the helper that should be used to get at the inode that will be used
|
||||
* if this dentry were to be opened as a file. The inode may be on the upper
|
||||
* dentry or it may be on a lower dentry pinned by the upper.
|
||||
*
|
||||
* Normal filesystems should not use this to access their own inodes.
|
||||
*/
|
||||
static inline struct inode *d_backing_inode(const struct dentry *upper)
|
||||
{
|
||||
struct inode *inode = upper->d_inode;
|
||||
|
||||
return inode;
|
||||
}
|
||||
|
||||
/**
|
||||
* d_backing_dentry - Get upper or lower dentry we should be using
|
||||
* @upper: The upper layer
|
||||
*
|
||||
* This is the helper that should be used to get the dentry of the inode that
|
||||
* will be used if this dentry were opened as a file. It may be the upper
|
||||
* dentry or it may be a lower dentry pinned by the upper.
|
||||
*
|
||||
* Normal filesystems should not use this to access their own dentries.
|
||||
*/
|
||||
static inline struct dentry *d_backing_dentry(struct dentry *upper)
|
||||
{
|
||||
return upper;
|
||||
}
|
||||
|
||||
#endif /* __LINUX_DCACHE_H */
|
||||
|
|
Loading…
Reference in a new issue