diff options
author | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-06-23 09:26:01 -0400 |
---|---|---|
committer | Bjoern Brandenburg <bbb@mpi-sws.org> | 2013-08-07 03:46:40 -0400 |
commit | 01a0a30a003019092e7748049a03bb5cfd0ab918 (patch) | |
tree | db5d00c3dab49a75a3ac78665e560cc6524699ec | |
parent | 77c2b05c943abc0dfdb7b55a3d1d4a1a3fc53dcd (diff) |
Add object list to inodes
This patch adds a list of arbitrary objects to inodes.
This is used by Linux's locking API to attach lock objects to inodes
(which represent namespaces in Linux's locking API).
-rw-r--r-- | fs/inode.c | 2 | ||||
-rw-r--r-- | include/linux/fs.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/fs/inode.c b/fs/inode.c index 00d5fc3b86e1..a80e3263f8f2 100644 --- a/fs/inode.c +++ b/fs/inode.c | |||
@@ -370,6 +370,8 @@ void inode_init_once(struct inode *inode) | |||
370 | #ifdef CONFIG_FSNOTIFY | 370 | #ifdef CONFIG_FSNOTIFY |
371 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); | 371 | INIT_HLIST_HEAD(&inode->i_fsnotify_marks); |
372 | #endif | 372 | #endif |
373 | INIT_LIST_HEAD(&inode->i_obj_list); | ||
374 | mutex_init(&inode->i_obj_mutex); | ||
373 | } | 375 | } |
374 | EXPORT_SYMBOL(inode_init_once); | 376 | EXPORT_SYMBOL(inode_init_once); |
375 | 377 | ||
diff --git a/include/linux/fs.h b/include/linux/fs.h index 65c2be22b601..8a0ac17dc350 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -508,6 +508,7 @@ static inline int mapping_writably_mapped(struct address_space *mapping) | |||
508 | 508 | ||
509 | struct posix_acl; | 509 | struct posix_acl; |
510 | #define ACL_NOT_CACHED ((void *)(-1)) | 510 | #define ACL_NOT_CACHED ((void *)(-1)) |
511 | struct inode_obj_id_table; | ||
511 | 512 | ||
512 | #define IOP_FASTPERM 0x0001 | 513 | #define IOP_FASTPERM 0x0001 |
513 | #define IOP_LOOKUP 0x0002 | 514 | #define IOP_LOOKUP 0x0002 |
@@ -606,6 +607,10 @@ struct inode { | |||
606 | #ifdef CONFIG_IMA | 607 | #ifdef CONFIG_IMA |
607 | atomic_t i_readcount; /* struct files open RO */ | 608 | atomic_t i_readcount; /* struct files open RO */ |
608 | #endif | 609 | #endif |
610 | |||
611 | struct list_head i_obj_list; | ||
612 | struct mutex i_obj_mutex; | ||
613 | |||
609 | void *i_private; /* fs or device private pointer */ | 614 | void *i_private; /* fs or device private pointer */ |
610 | }; | 615 | }; |
611 | 616 | ||