alistair23-linux/fs/ocfs2
Joel Becker b657c95c11 ocfs2: Wrap inode block reads in a dedicated function.
The ocfs2 code currently reads inodes off disk with a simple
ocfs2_read_block() call.  Each place that does this has a different set
of sanity checks it performs.  Some check only the signature.  A couple
validate the block number (the block read vs di->i_blkno).  A couple
others check for VALID_FL.  Only one place validates i_fs_generation.  A
couple check nothing.  Even when an error is found, they don't all do
the same thing.

We wrap inode reading into ocfs2_read_inode_block().  This will validate
all the above fields, going readonly if they are invalid (they never
should be).  ocfs2_read_inode_block_full() is provided for the places
that want to pass read_block flags.  Every caller is passing a struct
inode with a valid ip_blkno, so we don't need a separate blkno argument
either.

We will remove the validation checks from the rest of the code in a
later commit, as they are no longer necessary.

Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2009-01-05 08:36:52 -08:00
..
cluster fs: replace NIPQUAD() 2008-10-31 00:56:28 -07:00
dlm Merge branch 'master' into next 2008-12-04 17:16:36 +11:00
acl.c ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00
acl.h ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00
alloc.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
alloc.h ocfs2: turn __ocfs2_remove_inode_range() into ocfs2_remove_btree_range() 2009-01-05 08:34:19 -08:00
aops.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
aops.h ocfs2: convert to new aops 2007-10-16 09:42:58 -07:00
buffer_head_io.c ocfs2: fix regression in ocfs2_read_blocks_sync() 2008-12-01 14:46:58 -08:00
buffer_head_io.h ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
dcache.c ocfs2: Remove mount/unmount votes 2008-01-25 14:45:34 -08:00
dcache.h ocfs2: Remove special casing for inode creation in ocfs2_dentry_attach_lock() 2006-09-24 13:50:45 -07:00
dir.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
dir.h ocfs2: Rename cleanups 2007-10-12 11:54:38 -07:00
dlmglue.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
dlmglue.h ocfs2: Break out stackglue into modules. 2008-04-18 08:56:05 -07:00
export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
export.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
extent_map.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
extent_map.h ocfs2: Add extent tree operation for xattr value btrees 2008-10-13 16:57:01 -07:00
file.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
file.h ocfs2: Make high level btree extend code generic 2008-10-13 13:57:59 -07:00
heartbeat.c ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
heartbeat.h ocfs2: Move o2hb functionality into the stack glue. 2008-04-18 08:56:04 -07:00
inode.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
inode.h ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
ioctl.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
ioctl.h ocfs2: Convert ocfs2 over to unlocked_ioctl 2008-04-18 08:56:11 -07:00
journal.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
journal.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
localalloc.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
localalloc.h ocfs2: throttle back local alloc when low on disk space 2008-10-13 13:57:57 -07:00
locks.c ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
locks.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
Makefile ocfs2: add POSIX ACL API 2009-01-05 08:34:20 -08:00
mmap.c ocfs2: return 0 in page_mkwrite to let VFS retry. 2008-11-10 09:51:47 -08:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
namei.h ocfs2: Move directory manipulation code into dir.c 2007-10-12 11:54:36 -07:00
ocfs1_fs_compat.h fs/: Spelling fixes 2008-02-03 17:33:42 +02:00
ocfs2.h ocfs2: add POSIX ACL API 2009-01-05 08:34:20 -08:00
ocfs2_fs.h ocfs2: Add JBD2 compat feature bit. 2008-12-16 18:26:16 -08:00
ocfs2_jbd_compat.h ocfs2: Switch over to JBD2. 2008-10-13 17:02:43 -07:00
ocfs2_lockid.h ocfs2: Change mlog_bug_on to BUG_ON in ocfs2_lockid.h 2008-04-18 08:56:07 -07:00
ocfs2_lockingver.h ocfs2: Negotiate locking protocol versions. 2008-02-06 16:11:29 -08:00
resize.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
resize.h [PATCH 2/2] ocfs2: Implement group add for online resize 2008-01-25 15:04:24 -08:00
slot_map.c ocfs2: Make cached block reads the common case. 2008-10-14 11:58:22 -07:00
slot_map.h ocfs2: De-magic the in-memory slot map. 2008-04-18 08:56:03 -07:00
stack_o2cb.c ocfs2: Remove ->hangup() from stack glue operations. 2008-06-16 10:46:52 -07:00
stack_user.c ocfs2: initialize stack_user lvbptr 2008-12-01 14:46:39 -08:00
stackglue.c ocfs2: Remove pointless !! 2008-10-13 17:02:44 -07:00
stackglue.h ocfs2: POSIX file locks support 2008-10-13 13:57:57 -07:00
suballoc.c ocfs2: Simplify ocfs2_read_block() 2008-10-14 11:51:57 -07:00
suballoc.h ocfs2: Limit inode allocation to 32bits. 2008-10-13 16:57:07 -07:00
super.c ocfs2: add mount option and Kconfig option for acl 2009-01-05 08:36:52 -08:00
super.h ocfs2: use s_maxbytes directly in ocfs2_change_file_space() 2007-08-09 17:25:07 -07:00
symlink.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
symlink.h [PATCH] mark struct inode_operations const 2 2007-02-12 09:48:46 -08:00
sysfile.c ocfs2: Silence false lockdep warnings 2008-01-25 15:05:44 -08:00
sysfile.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
uptodate.c ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache 2008-10-13 17:02:44 -07:00
uptodate.h ocfs2: Add helper function in uptodate.c for removing xattr clusters 2008-10-13 13:57:59 -07:00
ver.c ocfs2: bump version number 2008-01-25 15:05:46 -08:00
ver.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
xattr.c ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00
xattr.h ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00