]>
Commit | Line | Data |
---|---|---|
328970de | 1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
fa60ce2c | 2 | /* |
ccd979bd MF |
3 | * dcache.h |
4 | * | |
5 | * Function prototypes | |
6 | * | |
7 | * Copyright (C) 2002, 2004 Oracle. All rights reserved. | |
ccd979bd MF |
8 | */ |
9 | ||
10 | #ifndef OCFS2_DCACHE_H | |
11 | #define OCFS2_DCACHE_H | |
12 | ||
d8fba0ff | 13 | extern const struct dentry_operations ocfs2_dentry_ops; |
ccd979bd | 14 | |
d680efe9 MF |
15 | struct ocfs2_dentry_lock { |
16 | unsigned int dl_count; | |
8ed6b237 | 17 | u64 dl_parent_blkno; |
d680efe9 MF |
18 | |
19 | /* | |
20 | * The ocfs2_dentry_lock keeps an inode reference until | |
21 | * dl_lockres has been destroyed. This is usually done in | |
22 | * ->d_iput() anyway, so there should be minimal impact. | |
23 | */ | |
24 | struct inode *dl_inode; | |
25 | struct ocfs2_lock_res dl_lockres; | |
26 | }; | |
27 | ||
80c05846 | 28 | int ocfs2_dentry_attach_lock(struct dentry *dentry, struct inode *inode, |
0027dd5b | 29 | u64 parent_blkno); |
80c05846 MF |
30 | |
31 | void ocfs2_dentry_lock_put(struct ocfs2_super *osb, | |
32 | struct ocfs2_dentry_lock *dl); | |
33 | ||
34 | struct dentry *ocfs2_find_local_alias(struct inode *inode, u64 parent_blkno, | |
35 | int skip_unhashed); | |
36 | ||
37 | void ocfs2_dentry_move(struct dentry *dentry, struct dentry *target, | |
38 | struct inode *old_dir, struct inode *new_dir); | |
d680efe9 MF |
39 | |
40 | extern spinlock_t dentry_attach_lock; | |
5e98d492 | 41 | void ocfs2_dentry_attach_gen(struct dentry *dentry); |
d680efe9 | 42 | |
ccd979bd | 43 | #endif /* OCFS2_DCACHE_H */ |