Move our preprocessor logic around d_path into an osi_compat.h
wrapper, called afs_d_path. This just makes it a little easier to use
d_path, and moves a tiny bit of #ifdef cruft away from real code.
Change-Id: I2032eda3fef18be6e77e3bf362ec5ce641e1d76d
Reviewed-on: https://gerrit.openafs.org/13721
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
#endif
}
+static inline char*
+afs_d_path(struct dentry *dp, struct vfsmount *mnt, char *buf, int buflen)
+{
+#ifdef D_PATH_TAKES_STRUCT_PATH
+ afs_linux_path_t p = { .mnt = mnt, .dentry = dp };
+ return d_path(&p, buf, buflen);
+#else
+ return d_path(dp, mnt, buf, buflen);
+#endif
+}
+
#endif /* AFS_LINUX_OSI_COMPAT_H */
return -PTR_ERR(name);
code = osi_lookupname_internal(name, followlink, &mnt, &dp);
if (!code) {
-#if defined(D_PATH_TAKES_STRUCT_PATH)
- afs_linux_path_t p = { .mnt = mnt, .dentry = dp };
- path = d_path(&p, buf, buflen);
-#else
- path = d_path(dp, mnt, buf, buflen);
-#endif
-
+ path = afs_d_path(dp, mnt, buf, buflen);
if (IS_ERR(path)) {
code = -PTR_ERR(path);
} else {