1
0
Fork 0
alistair23-linux/fs/ocfs2
Tao Ma 0e116227a0 ocfs2: Fix a bug in direct IO read.
ocfs2 will become read-only if we try to read the bytes which pass
the end of i_size. This can be easily reproduced by following steps:
1. mkfs a ocfs2 volume with bs=4k cs=4k and nosparse.
2. create a small file(say less than 100 bytes) and we will create the file
   which is allocated 1 cluster.
3. read 8196 bytes from the kernel using O_DIRECT which exceeds the limit.
4. The ocfs2 volume becomes read-only and dmesg shows:
OCFS2: ERROR (device sda13): ocfs2_direct_IO_get_blocks:
Inode 66010 has a hole at block 1
File system is now read-only due to the potential of on-disk corruption.
Please run fsck.ocfs2 once the file system is unmounted.

So suppress the ERROR message.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2008-09-10 01:44:08 -07:00
..
cluster [PATCH] ocfs2/cluster/netdebug.c: fix warning 2008-08-22 10:56:57 -07:00
dlm SL*B: drop kmem cache argument from constructor 2008-07-26 12:00:07 -07:00
Makefile ocfs2: Allow selection of cluster plug-ins. 2008-04-18 08:56:07 -07:00
alloc.c ocfs2 endianness fixes 2008-05-21 16:55:59 -07:00
alloc.h ocfs2: Write support for directories with inline data 2007-10-12 11:54:41 -07:00
aops.c ocfs2: Fix a bug in direct IO read. 2008-09-10 01:44:08 -07:00
aops.h ocfs2: convert to new aops 2007-10-16 09:42:58 -07:00
buffer_head_io.c ocfs2: clean up bh null checks 2008-01-25 15:05:48 -08:00
buffer_head_io.h [PATCH 1/2] ocfs2: Add group extend for online resize 2008-01-25 14:53:35 -08: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: correctly set i_blocks after inline dir gets expanded 2008-08-22 11:09:02 -07:00
dir.h ocfs2: Rename cleanups 2007-10-12 11:54:38 -07:00
dlmglue.c ocfs2: fix printk format warnings with OCFS2_FS_STATS=n 2008-07-14 13:57:14 -07:00
dlmglue.h ocfs2: Break out stackglue into modules. 2008-04-18 08:56:05 -07:00
export.c ocfs2: Silence false lockdep warnings 2008-01-25 15:05:44 -08:00
export.h exportfs: make struct export_operations const 2007-10-22 08:13:21 -07:00
extent_map.c ocfs2: Read support for inline data 2007-10-12 11:54:39 -07:00
extent_map.h ocfs2: Cache extent records 2007-04-26 15:10:40 -07:00
file.c [PATCH] ocfs2: Release mutex in error handling code 2008-07-31 16:21:14 -07:00
file.h [PATCH] sanitize ->permission() prototype 2008-07-26 20:53:14 -04: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: convert byte order of constant instead of variable 2008-01-25 15:05:46 -08:00
inode.h ocfs2: Silence false lockdep warnings 2008-01-25 15:05:44 -08:00
ioctl.c [PATCH] r/o bind mounts: elevate write count for ioctls() 2008-04-19 00:29:24 -04:00
ioctl.h ocfs2: Convert ocfs2 over to unlocked_ioctl 2008-04-18 08:56:11 -07:00
journal.c ocfs2: Fix sleep-with-spinlock recovery regression 2008-08-22 11:08:38 -07:00
journal.h [PATCH 2/2] ocfs2: Fix race between mount and recovery 2008-07-31 16:21:14 -07:00
localalloc.c ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs 2008-07-14 13:57:15 -07:00
localalloc.h ocfs2: Allow smaller allocations during large writes 2007-09-20 15:06:09 -07:00
locks.c [PATCH 2/2] ocfs2: cluster aware flock() 2008-01-25 15:05:43 -08:00
locks.h [PATCH 2/2] ocfs2: cluster aware flock() 2008-01-25 15:05:43 -08:00
mmap.c ocfs2: Rename ocfs2_meta_[un]lock 2008-01-25 14:46:01 -08:00
mmap.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:47 -08:00
namei.c ocfs2: Improve rename locking 2008-04-18 08:56:11 -07: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 [PATCH 2/2] ocfs2: Fix race between mount and recovery 2008-07-31 16:21:14 -07:00
ocfs2_fs.h [PATCH 1/2] ocfs2: Add counter in struct ocfs2_dinode to track journal replays 2008-07-31 16:21:13 -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: Fix an endian bug in online resize. 2008-03-10 15:14:07 -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: Abstract out node number queries. 2008-04-18 08:56:04 -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 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2 2008-07-17 10:55:51 -07:00
stackglue.c ocfs2: Increment the reference count of an already-active stack. 2008-08-25 07:29:47 -07:00
stackglue.h ocfs2: Remove ->hangup() from stack glue operations. 2008-06-16 10:46:52 -07:00
suballoc.c ocfs2: Add inode stealing for ocfs2_reserve_new_inode 2008-04-18 08:56:10 -07:00
suballoc.h ocfs2: Add ac_alloc_slot in ocfs2_alloc_context 2008-04-18 08:56:10 -07:00
super.c [PATCH 2/2] ocfs2: Fix race between mount and recovery 2008-07-31 16:21:14 -07:00
super.h ocfs2: use s_maxbytes directly in ocfs2_change_file_space() 2007-08-09 17:25:07 -07:00
symlink.c ocfs2: Allow uid/gid/perm changes of symlinks 2008-04-30 17:09:54 -07: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 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
uptodate.h ocfs2: implement directory read-ahead 2006-09-20 15:53:40 -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