[XFS] kill unnessecary ioops indirection
[linux-2.6-block.git] / fs / xfs / xfs_iocore.c
1 /*
2  * Copyright (c) 2000-2003,2005 Silicon Graphics, Inc.
3  * All Rights Reserved.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it would be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write the Free Software Foundation,
16  * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17  */
18 #include "xfs.h"
19 #include "xfs_fs.h"
20 #include "xfs_types.h"
21 #include "xfs_bit.h"
22 #include "xfs_log.h"
23 #include "xfs_inum.h"
24 #include "xfs_trans.h"
25 #include "xfs_sb.h"
26 #include "xfs_ag.h"
27 #include "xfs_dir2.h"
28 #include "xfs_dfrag.h"
29 #include "xfs_dmapi.h"
30 #include "xfs_mount.h"
31 #include "xfs_bmap_btree.h"
32 #include "xfs_alloc_btree.h"
33 #include "xfs_ialloc_btree.h"
34 #include "xfs_dir2_sf.h"
35 #include "xfs_attr_sf.h"
36 #include "xfs_dinode.h"
37 #include "xfs_inode.h"
38 #include "xfs_inode_item.h"
39 #include "xfs_itable.h"
40 #include "xfs_btree.h"
41 #include "xfs_alloc.h"
42 #include "xfs_ialloc.h"
43 #include "xfs_bmap.h"
44 #include "xfs_error.h"
45 #include "xfs_rw.h"
46 #include "xfs_quota.h"
47 #include "xfs_trans_space.h"
48 #include "xfs_iomap.h"
49
50 void
51 xfs_iocore_inode_reinit(
52         xfs_inode_t     *ip)
53 {
54         xfs_iocore_t    *io = &ip->i_iocore;
55
56         io->io_flags = 0;
57         if (ip->i_d.di_flags & XFS_DIFLAG_REALTIME)
58                 io->io_flags |= XFS_IOCORE_RT;
59         io->io_dmevmask = ip->i_d.di_dmevmask;
60         io->io_dmstate = ip->i_d.di_dmstate;
61 }
62
63 void
64 xfs_iocore_inode_init(
65         xfs_inode_t     *ip)
66 {
67         xfs_iocore_t    *io = &ip->i_iocore;
68         xfs_mount_t     *mp = ip->i_mount;
69
70         io->io_mount = mp;
71 #ifdef DEBUG
72         io->io_lock = &ip->i_lock;
73         io->io_iolock = &ip->i_iolock;
74 #endif
75
76         io->io_obj = (void *)ip;
77
78         xfs_iocore_inode_reinit(ip);
79 }