35 lines
1.2 KiB
Diff
35 lines
1.2 KiB
Diff
|
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||
|
as the second argument, not a nameidata pointer! see fs/namei.c
|
||
|
for implementation
|
||
|
|
||
|
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
|
||
|
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
|
||
|
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
|
||
|
@@ -32,7 +32,7 @@
|
||
|
#include "block.h"
|
||
|
|
||
|
|
||
|
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||
|
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
|
||
|
|
||
|
struct dentry_operations LinkDentryOps = {
|
||
|
.d_revalidate = DentryOpRevalidate,
|
||
|
@@ -60,7 +60,7 @@
|
||
|
|
||
|
static int
|
||
|
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||
|
- struct nameidata *nd) // IN: lookup flags & intent
|
||
|
+ unsigned int flags) // IN: lookup flags & intent
|
||
|
{
|
||
|
VMBlockInodeInfo *iinfo;
|
||
|
struct nameidata actualNd;
|
||
|
@@ -101,7 +101,7 @@
|
||
|
if (actualDentry &&
|
||
|
actualDentry->d_op &&
|
||
|
actualDentry->d_op->d_revalidate) {
|
||
|
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||
|
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||
|
}
|
||
|
|
||
|
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|