vfs: make argument of d_real_inode() const
authorMiklos Szeredi <mszeredi@redhat.com>
Fri, 16 Sep 2016 10:44:20 +0000 (12:44 +0200)
committerMiklos Szeredi <mszeredi@redhat.com>
Fri, 16 Sep 2016 10:44:20 +0000 (12:44 +0200)
d_op->d_real() leaves the dentry alone except if the third argument is
non-zero.  Unfortunately very difficult to explain to the compiler without
a cast.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Acked-by: Jeff Layton <jlayton@poochiereds.net>
include/linux/dcache.h

index 5ff3e9a4fe5f1b3a0ec717a494649d7284bb499f..5beed7b30561119cf66e5f8aa0779d54cd602d3c 100644 (file)
@@ -584,9 +584,10 @@ static inline struct dentry *d_real(struct dentry *dentry,
  * If dentry is on an union/overlay, then return the underlying, real inode.
  * Otherwise return d_inode().
  */
-static inline struct inode *d_real_inode(struct dentry *dentry)
+static inline struct inode *d_real_inode(const struct dentry *dentry)
 {
-       return d_backing_inode(d_real(dentry, NULL, 0));
+       /* This usage of d_real() results in const dentry */
+       return d_backing_inode(d_real((struct dentry *) dentry, NULL, 0));
 }