]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - fs/gfs2/inode.h
2 * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
3 * Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
5 * This copyrighted material is made available to anyone wishing to use,
6 * modify, copy, or redistribute it subject to the terms and conditions
7 * of the GNU General Public License v.2.
10 #ifndef __INODE_DOT_H__
11 #define __INODE_DOT_H__
13 static inline int gfs2_is_stuffed(struct gfs2_inode
*ip
)
15 return !ip
->i_di
.di_height
;
18 static inline int gfs2_is_jdata(struct gfs2_inode
*ip
)
20 return ip
->i_di
.di_flags
& GFS2_DIF_JDATA
;
23 void gfs2_inode_attr_in(struct gfs2_inode
*ip
);
24 void gfs2_inode_attr_out(struct gfs2_inode
*ip
);
25 struct inode
*gfs2_ip2v_lookup(struct gfs2_inode
*ip
);
26 struct inode
*gfs2_ip2v(struct gfs2_inode
*ip
);
27 struct inode
*gfs2_iget(struct super_block
*sb
, struct gfs2_inum
*inum
);
29 void gfs2_inode_min_init(struct gfs2_inode
*ip
, unsigned int type
);
30 int gfs2_inode_refresh(struct gfs2_inode
*ip
);
32 int gfs2_inode_get(struct gfs2_glock
*i_gl
,
33 struct gfs2_inum
*inum
, int create
,
34 struct gfs2_inode
**ipp
);
35 void gfs2_inode_hold(struct gfs2_inode
*ip
);
36 void gfs2_inode_put(struct gfs2_inode
*ip
);
37 void gfs2_inode_destroy(struct gfs2_inode
*ip
);
39 int gfs2_inode_dealloc(struct gfs2_sbd
*sdp
, struct gfs2_unlinked
*ul
);
41 int gfs2_change_nlink(struct gfs2_inode
*ip
, int diff
);
42 int gfs2_lookupi(struct gfs2_inode
*dip
, struct qstr
*name
, int is_root
,
43 struct gfs2_inode
**ipp
);
44 int gfs2_createi(struct gfs2_holder
*ghs
, struct qstr
*name
, unsigned int mode
);
45 int gfs2_unlinki(struct gfs2_inode
*dip
, struct qstr
*name
,
46 struct gfs2_inode
*ip
, struct gfs2_unlinked
*ul
);
47 int gfs2_rmdiri(struct gfs2_inode
*dip
, struct qstr
*name
,
48 struct gfs2_inode
*ip
, struct gfs2_unlinked
*ul
);
49 int gfs2_unlink_ok(struct gfs2_inode
*dip
, struct qstr
*name
,
50 struct gfs2_inode
*ip
);
51 int gfs2_ok_to_move(struct gfs2_inode
*this, struct gfs2_inode
*to
);
52 int gfs2_readlinki(struct gfs2_inode
*ip
, char **buf
, unsigned int *len
);
54 int gfs2_glock_nq_atime(struct gfs2_holder
*gh
);
55 int gfs2_glock_nq_m_atime(unsigned int num_gh
, struct gfs2_holder
*ghs
);
57 void gfs2_try_toss_vnode(struct gfs2_inode
*ip
);
59 int gfs2_setattr_simple(struct gfs2_inode
*ip
, struct iattr
*attr
);
61 int gfs2_repermission(struct inode
*inode
, int mask
, struct nameidata
*nd
);
63 static inline int gfs2_lookup_simple(struct gfs2_inode
*dip
, char *name
,
64 struct gfs2_inode
**ipp
)
67 memset(&qstr
, 0, sizeof(struct qstr
));
69 qstr
.len
= strlen(name
);
70 return gfs2_lookupi(dip
, &qstr
, 1, ipp
);
73 #endif /* __INODE_DOT_H__ */