1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * namei.h
4 *
5 * Function prototypes
6 *
7 * Copyright (C) 2002, 2004 Oracle.  All rights reserved.
8 */
9
10#ifndef OCFS2_NAMEI_H
11#define OCFS2_NAMEI_H
12
13#define OCFS2_DIO_ORPHAN_PREFIX "dio-"
14#define OCFS2_DIO_ORPHAN_PREFIX_LEN 4
15
16extern const struct inode_operations ocfs2_dir_iops;
17
18struct dentry *ocfs2_get_parent(struct dentry *child);
19
20int ocfs2_orphan_del(struct ocfs2_super *osb,
21		     handle_t *handle,
22		     struct inode *orphan_dir_inode,
23		     struct inode *inode,
24		     struct buffer_head *orphan_dir_bh,
25		     bool dio);
26int ocfs2_create_inode_in_orphan(struct inode *dir,
27				 int mode,
28				 struct inode **new_inode);
29int ocfs2_add_inode_to_orphan(struct ocfs2_super *osb,
30		struct inode *inode);
31int ocfs2_del_inode_from_orphan(struct ocfs2_super *osb,
32		struct inode *inode, struct buffer_head *di_bh,
33		int update_isize, loff_t end);
34int ocfs2_mv_orphaned_inode_to_new(struct inode *dir,
35				   struct inode *new_inode,
36				   struct dentry *new_dentry);
37
38#endif /* OCFS2_NAMEI_H */
39