From 3df2b0b4f410ea57613477ca6b4e015fbea4931a Mon Sep 17 00:00:00 2001 From: Bjoern Brandenburg Date: Sun, 23 Jun 2013 15:26:01 +0200 Subject: 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). --- fs/inode.c | 2 ++ include/linux/fs.h | 5 +++++ 2 files changed, 7 insertions(+) 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) #ifdef CONFIG_FSNOTIFY INIT_HLIST_HEAD(&inode->i_fsnotify_marks); #endif + INIT_LIST_HEAD(&inode->i_obj_list); + mutex_init(&inode->i_obj_mutex); } EXPORT_SYMBOL(inode_init_once); 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) struct posix_acl; #define ACL_NOT_CACHED ((void *)(-1)) +struct inode_obj_id_table; #define IOP_FASTPERM 0x0001 #define IOP_LOOKUP 0x0002 @@ -606,6 +607,10 @@ struct inode { #ifdef CONFIG_IMA atomic_t i_readcount; /* struct files open RO */ #endif + + struct list_head i_obj_list; + struct mutex i_obj_mutex; + void *i_private; /* fs or device private pointer */ }; -- cgit v1.2.2