Line
Link Here
|
0 |
-- a/vmblock-only/linux/control.c 2013-10-03 04:29:47.471339204 -0400 |
0 |
++ b/vmblock-only/linux/control.c 2013-10-03 04:31:56.607334636 -0400 |
Lines 283-289
Link Here
|
283 |
int i; |
283 |
int i; |
284 |
int retval; |
284 |
int retval; |
285 |
name = getname(buf); |
285 |
name = (char*)getname(buf)->name; |
286 |
if (IS_ERR(name)) { |
286 |
if (IS_ERR(name)) { |
287 |
return PTR_ERR(name); |
287 |
return PTR_ERR(name); |
288 |
} |
288 |
} |
289 |
-- a/vmblock-only/linux/dentry.c 2013-10-03 04:29:47.471339204 -0400 |
289 |
++ b/vmblock-only/linux/dentry.c 2013-10-03 04:31:56.607334636 -0400 |
Lines 32-38
Link Here
|
32 |
#include "block.h" |
32 |
#include "block.h" |
33 |
static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); |
33 |
static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); |
34 |
struct dentry_operations LinkDentryOps = { |
34 |
struct dentry_operations LinkDentryOps = { |
35 |
.d_revalidate = DentryOpRevalidate, |
35 |
.d_revalidate = DentryOpRevalidate, |
Lines 60-66
Link Here
|
60 |
static int |
60 |
static int |
61 |
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating |
61 |
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating |
62 |
struct nameidata *nd) // IN: lookup flags & intent |
62 |
unsigned int flags) // IN: lookup flags & intent |
63 |
{ |
63 |
{ |
64 |
VMBlockInodeInfo *iinfo; |
64 |
VMBlockInodeInfo *iinfo; |
65 |
struct nameidata actualNd; |
65 |
struct nameidata actualNd; |
Lines 101-107
Link Here
|
101 |
if (actualDentry && |
101 |
if (actualDentry && |
102 |
actualDentry->d_op && |
102 |
actualDentry->d_op && |
103 |
actualDentry->d_op->d_revalidate) { |
103 |
actualDentry->d_op->d_revalidate) { |
104 |
return actualDentry->d_op->d_revalidate(actualDentry, nd); |
104 |
return actualDentry->d_op->d_revalidate(actualDentry, flags); |
105 |
} |
105 |
} |
106 |
if (compat_path_lookup(iinfo->name, 0, &actualNd)) { |
106 |
if (compat_path_lookup(iinfo->name, 0, &actualNd)) { |
107 |
-- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400 |
107 |
++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400 |
Lines 36-42
Link Here
|
36 |
/* Inode operations */ |
36 |
/* Inode operations */ |
37 |
static struct dentry *InodeOpLookup(struct inode *dir, |
37 |
static struct dentry *InodeOpLookup(struct inode *dir, |
38 |
struct dentry *dentry, struct nameidata *nd); |
38 |
struct dentry *dentry, unsigned int flags); |
39 |
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); |
39 |
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); |
40 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) |
40 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) |
41 |
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); |
41 |
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); |
Lines 75-81
Link Here
|
75 |
static struct dentry * |
75 |
static struct dentry * |
76 |
InodeOpLookup(struct inode *dir, // IN: parent directory's inode |
76 |
InodeOpLookup(struct inode *dir, // IN: parent directory's inode |
77 |
struct dentry *dentry, // IN: dentry to lookup |
77 |
struct dentry *dentry, // IN: dentry to lookup |
78 |
struct nameidata *nd) // IN: lookup intent and information |
78 |
unsigned int flags) // IN: lookup intent and information |
79 |
{ |
79 |
{ |
80 |
char *filename; |
80 |
char *filename; |
81 |
struct inode *inode; |
81 |
struct inode *inode; |
Lines 221-227
Link Here
|
221 |
goto out; |
221 |
goto out; |
222 |
} |
222 |
} |
223 |
ret = vfs_follow_link(nd, iinfo->name); |
223 |
nd_set_link(nd, iinfo->name); |
224 |
out: |
224 |
out: |
225 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) |
225 |
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) |