Whamcloud - gitweb
LU-6215 llite: filldir_t api changed for 3.18 kernels
[fs/lustre-release.git] / lustre / llite / llite_nfs.c
index c2cf74c..38e2726 100644 (file)
@@ -194,13 +194,22 @@ static int ll_encode_fh(struct inode *inode, __u32 *fh, int *plen,
        RETURN(FILEID_LUSTRE);
 }
 
-static int ll_nfs_get_name_filldir(void *cookie, const char *name, int namelen,
-                                   loff_t hash, u64 ino, unsigned type)
+static int
+#ifndef HAVE_FILLDIR_USE_CTX
+ll_nfs_get_name_filldir(void *cookie, const char *name, int namelen,
+                       loff_t hash, u64 ino, unsigned type)
 {
+       struct ll_getname_data *lgd = cookie;
+#else
+ll_nfs_get_name_filldir(struct dir_context *ctx, const char *name, int namelen,
+                       loff_t hash, u64 ino, unsigned type)
+{
+       struct ll_getname_data *lgd =
+               container_of(ctx, struct ll_getname_data, ctx);
+#endif /* HAVE_FILLDIR_USE_CTX */
         /* It is hack to access lde_fid for comparison with lgd_fid.
          * So the input 'name' must be part of the 'lu_dirent'. */
         struct lu_dirent *lde = container_of0(name, struct lu_dirent, lde_name);
-        struct ll_getname_data *lgd = cookie;
         struct lu_fid fid;
 
         fid_le_to_cpu(&fid, &lde->lde_fid);