diff options
Diffstat (limited to 'fs/sysfs/inode.c')
-rw-r--r-- | fs/sysfs/inode.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c index 1ffd5559926f..9f783d4e4b51 100644 --- a/fs/sysfs/inode.c +++ b/fs/sysfs/inode.c | |||
@@ -205,17 +205,6 @@ static inline void set_inode_attr(struct inode * inode, struct iattr * iattr) | |||
205 | inode->i_ctime = iattr->ia_ctime; | 205 | inode->i_ctime = iattr->ia_ctime; |
206 | } | 206 | } |
207 | 207 | ||
208 | |||
209 | /* | ||
210 | * sysfs has a different i_mutex lock order behavior for i_mutex than other | ||
211 | * filesystems; sysfs i_mutex is called in many places with subsystem locks | ||
212 | * held. At the same time, many of the VFS locking rules do not apply to | ||
213 | * sysfs at all (cross directory rename for example). To untangle this mess | ||
214 | * (which gives false positives in lockdep), we're giving sysfs inodes their | ||
215 | * own class for i_mutex. | ||
216 | */ | ||
217 | static struct lock_class_key sysfs_inode_imutex_key; | ||
218 | |||
219 | static int sysfs_count_nlink(struct sysfs_dirent *sd) | 208 | static int sysfs_count_nlink(struct sysfs_dirent *sd) |
220 | { | 209 | { |
221 | struct sysfs_dirent *child; | 210 | struct sysfs_dirent *child; |
@@ -268,7 +257,6 @@ static void sysfs_init_inode(struct sysfs_dirent *sd, struct inode *inode) | |||
268 | inode->i_mapping->a_ops = &sysfs_aops; | 257 | inode->i_mapping->a_ops = &sysfs_aops; |
269 | inode->i_mapping->backing_dev_info = &sysfs_backing_dev_info; | 258 | inode->i_mapping->backing_dev_info = &sysfs_backing_dev_info; |
270 | inode->i_op = &sysfs_inode_operations; | 259 | inode->i_op = &sysfs_inode_operations; |
271 | lockdep_set_class(&inode->i_mutex, &sysfs_inode_imutex_key); | ||
272 | 260 | ||
273 | set_default_inode_attr(inode, sd->s_mode); | 261 | set_default_inode_attr(inode, sd->s_mode); |
274 | sysfs_refresh_inode(sd, inode); | 262 | sysfs_refresh_inode(sd, inode); |