Whamcloud - gitweb
LU-8176 libcfs: Add file_dentry() & file_inode() wrapper
[fs/lustre-release.git] / libcfs / include / libcfs / linux / linux-fs.h
index 5c4579c..4ab0590 100644 (file)
 #include <linux/backing-dev.h>
 #include <linux/posix_acl_xattr.h>
 
+#ifndef HAVE_FILE_DENTRY
+static inline struct dentry *file_dentry(const struct file *file)
+{
+       return file->f_path.dentry;
+}
+#endif
+
+#ifndef HAVE_FILE_INODE
+static inline struct inode *file_inode(const struct file *file)
+{
+       return file->f_path.dentry->d_inode;
+}
+#endif
+
 #if defined(HAVE_FILE_FSYNC_4ARGS) || defined(HAVE_FILE_FSYNC_2ARGS)
 #define ll_vfs_fsync_range(fp, start, end, datasync) \
        vfs_fsync_range(fp, start, end, datasync)
 #else
 #define ll_vfs_fsync_range(fp, start, end, datasync) \
-       vfs_fsync_range(fp, (fp)->f_path.dentry, start, end, datasync)
+       vfs_fsync_range(fp, file_dentry(fp), start, end, datasync)
 #endif
 
 #define flock_type(fl)                 ((fl)->fl_type)