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