@@ -62,7 +62,7 @@ const struct inode_operations afs_dir_inode_operations = {
|
|||||||
.setattr = afs_setattr,
|
.setattr = afs_setattr,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct dentry_operations afs_fs_dentry_operations = {
|
const struct dentry_operations afs_fs_dentry_operations = {
|
||||||
.d_revalidate = afs_d_revalidate,
|
.d_revalidate = afs_d_revalidate,
|
||||||
.d_delete = afs_d_delete,
|
.d_delete = afs_d_delete,
|
||||||
.d_release = afs_d_release,
|
.d_release = afs_d_release,
|
||||||
@@ -582,8 +582,6 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry,
|
|||||||
}
|
}
|
||||||
|
|
||||||
success:
|
success:
|
||||||
d_set_d_op(dentry, &afs_fs_dentry_operations);
|
|
||||||
|
|
||||||
d_add(dentry, inode);
|
d_add(dentry, inode);
|
||||||
_leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%llu }",
|
_leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%llu }",
|
||||||
fid.vnode,
|
fid.vnode,
|
||||||
|
@@ -486,6 +486,7 @@ extern bool afs_cm_incoming_call(struct afs_call *);
|
|||||||
* dir.c
|
* dir.c
|
||||||
*/
|
*/
|
||||||
extern const struct inode_operations afs_dir_inode_operations;
|
extern const struct inode_operations afs_dir_inode_operations;
|
||||||
|
extern const struct dentry_operations afs_fs_dentry_operations;
|
||||||
extern const struct file_operations afs_dir_file_operations;
|
extern const struct file_operations afs_dir_file_operations;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -336,6 +336,7 @@ static int afs_fill_super(struct super_block *sb, void *data)
|
|||||||
if (!root)
|
if (!root)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
sb->s_d_op = &afs_fs_dentry_operations;
|
||||||
sb->s_root = root;
|
sb->s_root = root;
|
||||||
|
|
||||||
_leave(" = 0");
|
_leave(" = 0");
|
||||||
|
Reference in New Issue
Block a user