diff options
author | Dave Kleikamp <shaggy@linux.vnet.ibm.com> | 2007-01-09 15:14:48 -0500 |
---|---|---|
committer | Dave Kleikamp <shaggy@linux.vnet.ibm.com> | 2007-01-09 15:14:48 -0500 |
commit | 82d5b9a7c63054a9a2cd838ffd177697f86e7e34 (patch) | |
tree | 7deb900fb1bdb9afe5487290838b2072b42f3790 /fs/jfs/jfs_incore.h | |
parent | 17e6afc75ad0150d265a86a8f155b2871f9c07fe (diff) |
JFS: Add lockdep annotations
Yeah, it's about time.
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Diffstat (limited to 'fs/jfs/jfs_incore.h')
-rw-r--r-- | fs/jfs/jfs_incore.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/fs/jfs/jfs_incore.h b/fs/jfs/jfs_incore.h index 94005584445a..8f453eff3c83 100644 --- a/fs/jfs/jfs_incore.h +++ b/fs/jfs/jfs_incore.h | |||
@@ -109,9 +109,11 @@ struct jfs_inode_info { | |||
109 | 109 | ||
110 | #define JFS_ACL_NOT_CACHED ((void *)-1) | 110 | #define JFS_ACL_NOT_CACHED ((void *)-1) |
111 | 111 | ||
112 | #define IREAD_LOCK(ip) down_read(&JFS_IP(ip)->rdwrlock) | 112 | #define IREAD_LOCK(ip, subclass) \ |
113 | down_read_nested(&JFS_IP(ip)->rdwrlock, subclass) | ||
113 | #define IREAD_UNLOCK(ip) up_read(&JFS_IP(ip)->rdwrlock) | 114 | #define IREAD_UNLOCK(ip) up_read(&JFS_IP(ip)->rdwrlock) |
114 | #define IWRITE_LOCK(ip) down_write(&JFS_IP(ip)->rdwrlock) | 115 | #define IWRITE_LOCK(ip, subclass) \ |
116 | down_write_nested(&JFS_IP(ip)->rdwrlock, subclass) | ||
115 | #define IWRITE_UNLOCK(ip) up_write(&JFS_IP(ip)->rdwrlock) | 117 | #define IWRITE_UNLOCK(ip) up_write(&JFS_IP(ip)->rdwrlock) |
116 | 118 | ||
117 | /* | 119 | /* |
@@ -127,6 +129,29 @@ enum cflags { | |||
127 | COMMIT_Synclist, /* metadata pages on group commit synclist */ | 129 | COMMIT_Synclist, /* metadata pages on group commit synclist */ |
128 | }; | 130 | }; |
129 | 131 | ||
132 | /* | ||
133 | * commit_mutex nesting subclasses: | ||
134 | */ | ||
135 | enum commit_mutex_class | ||
136 | { | ||
137 | COMMIT_MUTEX_PARENT, | ||
138 | COMMIT_MUTEX_CHILD, | ||
139 | COMMIT_MUTEX_SECOND_PARENT, /* Renaming */ | ||
140 | COMMIT_MUTEX_VICTIM /* Inode being unlinked due to rename */ | ||
141 | }; | ||
142 | |||
143 | /* | ||
144 | * rdwrlock subclasses: | ||
145 | * The dmap inode may be locked while a normal inode or the imap inode are | ||
146 | * locked. | ||
147 | */ | ||
148 | enum rdwrlock_class | ||
149 | { | ||
150 | RDWRLOCK_NORMAL, | ||
151 | RDWRLOCK_IMAP, | ||
152 | RDWRLOCK_DMAP | ||
153 | }; | ||
154 | |||
130 | #define set_cflag(flag, ip) set_bit(flag, &(JFS_IP(ip)->cflag)) | 155 | #define set_cflag(flag, ip) set_bit(flag, &(JFS_IP(ip)->cflag)) |
131 | #define clear_cflag(flag, ip) clear_bit(flag, &(JFS_IP(ip)->cflag)) | 156 | #define clear_cflag(flag, ip) clear_bit(flag, &(JFS_IP(ip)->cflag)) |
132 | #define test_cflag(flag, ip) test_bit(flag, &(JFS_IP(ip)->cflag)) | 157 | #define test_cflag(flag, ip) test_bit(flag, &(JFS_IP(ip)->cflag)) |