]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/suse-2.6.27.31/patches.suse/reiserfs-inode-init
Add a patch to fix Intel E100 wake-on-lan problems.
[ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.suse / reiserfs-inode-init
1 From: Jeff Mahoney <jeffm@suse.com>
2 Subject: reiserfs: move static initialization to cache constructor
3
4 Currently reiserfs duplicates code in init_inode and reiserfs_new_inode.
5 Neither is called from the reiserfs_inode_cache constructor, init_once.
6
7 This patch moves the static initialization there.
8
9 Signed-off-by: Jeff Mahoney <jeffm@suse.com>
10 ---
11 fs/reiserfs/inode.c | 26 --------------------------
12 fs/reiserfs/super.c | 11 ++++++++++-
13 include/linux/reiserfs_xattr.h | 8 --------
14 3 files changed, 10 insertions(+), 35 deletions(-)
15
16 --- a/fs/reiserfs/inode.c
17 +++ b/fs/reiserfs/inode.c
18 @@ -1123,17 +1123,6 @@ static void init_inode(struct inode *ino
19
20 copy_key(INODE_PKEY(inode), &(ih->ih_key));
21
22 - INIT_LIST_HEAD(&(REISERFS_I(inode)->i_prealloc_list));
23 - REISERFS_I(inode)->i_flags = 0;
24 - REISERFS_I(inode)->i_prealloc_block = 0;
25 - REISERFS_I(inode)->i_prealloc_count = 0;
26 - REISERFS_I(inode)->i_trans_id = 0;
27 - REISERFS_I(inode)->i_jl = NULL;
28 - mutex_init(&(REISERFS_I(inode)->i_mmap));
29 - reiserfs_init_acl_access(inode);
30 - reiserfs_init_acl_default(inode);
31 - reiserfs_init_xattr_rwsem(inode);
32 -
33 if (stat_data_v1(ih)) {
34 struct stat_data_v1 *sd =
35 (struct stat_data_v1 *)B_I_PITEM(bh, ih);
36 @@ -1149,9 +1138,6 @@ static void init_inode(struct inode *ino
37 inode->i_atime.tv_sec = sd_v1_atime(sd);
38 inode->i_mtime.tv_sec = sd_v1_mtime(sd);
39 inode->i_ctime.tv_sec = sd_v1_ctime(sd);
40 - inode->i_atime.tv_nsec = 0;
41 - inode->i_ctime.tv_nsec = 0;
42 - inode->i_mtime.tv_nsec = 0;
43
44 inode->i_blocks = sd_v1_blocks(sd);
45 inode->i_generation = le32_to_cpu(INODE_PKEY(inode)->k_dir_id);
46 @@ -1194,9 +1180,6 @@ static void init_inode(struct inode *ino
47 inode->i_mtime.tv_sec = sd_v2_mtime(sd);
48 inode->i_atime.tv_sec = sd_v2_atime(sd);
49 inode->i_ctime.tv_sec = sd_v2_ctime(sd);
50 - inode->i_ctime.tv_nsec = 0;
51 - inode->i_mtime.tv_nsec = 0;
52 - inode->i_atime.tv_nsec = 0;
53 inode->i_blocks = sd_v2_blocks(sd);
54 rdev = sd_v2_rdev(sd);
55 if (S_ISCHR(inode->i_mode) || S_ISBLK(inode->i_mode))
56 @@ -1821,18 +1804,9 @@ int reiserfs_new_inode(struct reiserfs_t
57 U32_MAX /*NO_BYTES_IN_DIRECT_ITEM */ ;
58
59 INIT_LIST_HEAD(&(REISERFS_I(inode)->i_prealloc_list));
60 - REISERFS_I(inode)->i_flags = 0;
61 - REISERFS_I(inode)->i_prealloc_block = 0;
62 - REISERFS_I(inode)->i_prealloc_count = 0;
63 - REISERFS_I(inode)->i_trans_id = 0;
64 - REISERFS_I(inode)->i_jl = NULL;
65 REISERFS_I(inode)->i_attrs =
66 REISERFS_I(dir)->i_attrs & REISERFS_INHERIT_MASK;
67 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode);
68 - mutex_init(&(REISERFS_I(inode)->i_mmap));
69 - reiserfs_init_acl_access(inode);
70 - reiserfs_init_acl_default(inode);
71 - reiserfs_init_xattr_rwsem(inode);
72
73 if (old_format_only(sb))
74 make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET,
75 --- a/fs/reiserfs/super.c
76 +++ b/fs/reiserfs/super.c
77 @@ -524,8 +524,17 @@ static void init_once(void *foo)
78 {
79 struct reiserfs_inode_info *ei = (struct reiserfs_inode_info *)foo;
80
81 - INIT_LIST_HEAD(&ei->i_prealloc_list);
82 inode_init_once(&ei->vfs_inode);
83 + INIT_LIST_HEAD(&ei->i_prealloc_list);
84 + mutex_init(&ei->i_mmap);
85 +#ifdef CONFIG_REISERFS_FS_XATTR
86 + init_rwsem(&ei->xattr_sem);
87 +#endif
88 + ei->i_flags = 0;
89 + ei->i_prealloc_block = 0;
90 + ei->i_prealloc_count = 0;
91 + ei->i_trans_id = 0;
92 + ei->i_jl = NULL;
93 #ifdef CONFIG_REISERFS_FS_POSIX_ACL
94 ei->i_acl_access = NULL;
95 ei->i_acl_default = NULL;
96 --- a/include/linux/reiserfs_xattr.h
97 +++ b/include/linux/reiserfs_xattr.h
98 @@ -109,11 +109,6 @@ static inline void reiserfs_mark_inode_p
99 inode->i_flags |= S_PRIVATE;
100 }
101
102 -static inline void reiserfs_init_xattr_rwsem(struct inode *inode)
103 -{
104 - init_rwsem(&REISERFS_I(inode)->xattr_sem);
105 -}
106 -
107 #else
108
109 #define is_reiserfs_priv_object(inode) 0
110 @@ -146,9 +141,6 @@ static inline int reiserfs_xattr_init(st
111 sb->s_flags = (sb->s_flags & ~MS_POSIXACL); /* to be sure */
112 return 0;
113 };
114 -static inline void reiserfs_init_xattr_rwsem(struct inode *inode)
115 -{
116 -}
117 #endif /* CONFIG_REISERFS_FS_XATTR */
118
119 #endif /* __KERNEL__ */