1
0
Fork 0
alistair23-linux/fs/gfs2
Steven Whitehouse 623d93555c [GFS2] Fix releasepage bug (fixes direct i/o writes)
This patch fixes three main bugs. Firstly the direct i/o get_block
was returning the wrong return code in certain cases. Secondly, the
GFS2's releasepage function was not dealing with cases when clean,
ordered buffers were found still queued on a transaction (which can
happen depending on the ordering of journal flushes). Thirdly, the
journaling code itself needed altering to take account of the
after effects of removing the clean ordered buffers from the transactions
before a journal flush.

The releasepage bug did also show up under "normal" buffered i/o
as well, so its not just a fix for direct i/o. In fact its not
normally used in the direct i/o path at all, except when flushing
existing buffers after performing a direct i/o write, but that was
the code path that led us to spot this.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2006-08-31 12:14:44 -04:00
..
locking [GFS2] match plock result with correct request 2006-08-07 08:46:51 -04:00
Kconfig [GFS2] gfs2/dlm: mailing list and web page 2006-06-22 15:29:57 -04:00
Makefile [GFS2] Remove page.[ch] 2006-07-26 11:27:10 -04:00
acl.c [GFS2] Remove gfs2_repermission 2006-06-22 10:59:10 -04:00
acl.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
bmap.c [GFS2] Remove page.[ch] 2006-07-26 11:27:10 -04:00
bmap.h [GFS2] Tidy gfs2_unstuffer_page 2006-07-26 10:51:20 -04:00
daemon.c [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
daemon.h [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
dir.c [GFS2] Fix bug in directory code 2006-08-01 15:28:57 -04:00
dir.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
eaops.c [GFS2] [-mm patch] fs/gfs2/: make code static 2006-06-22 11:16:40 -04:00
eaops.h [GFS2] [-mm patch] fs/gfs2/: make code static 2006-06-22 11:16:40 -04:00
eattr.c [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
eattr.h [GFS2] selinux support 2006-05-22 10:08:35 -04:00
format.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
gfs2.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
glock.c [GFS2] Add superblock into key for glock lookups 2006-08-30 12:50:28 -04:00
glock.h [GFS2] Remove unused code from glock layer 2006-08-30 09:38:30 -04:00
glops.c [GFS2] Remove unused code from glock layer 2006-08-30 09:38:30 -04:00
glops.h [GFS2] Make glock operations const 2006-08-30 09:30:00 -04:00
incore.h [GFS2] Remove unused code from glock layer 2006-08-30 09:38:30 -04:00
inode.c [GFS2] Tidy up in various files 2006-07-31 15:42:17 -04:00
inode.h [GFS2] Remove gfs2_repermission 2006-06-22 10:59:10 -04:00
lm.c [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
lm.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
lm_interface.h [GFS2] lockproto api prefix 2006-08-07 08:46:19 -04:00
locking.c [GFS2] Fix gfs_ prefix in locking.c 2006-08-07 11:12:30 -04:00
log.c [GFS2] Fix journal off-by-one error 2006-08-25 09:57:41 -04:00
log.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
lops.c [GFS2] Fix releasepage bug (fixes direct i/o writes) 2006-08-31 12:14:44 -04:00
lops.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
lvb.c [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
lvb.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
main.c [GFS2] Use slab properly with glocks 2006-08-30 10:36:52 -04:00
meta_io.c [GFS2] Fix leak of gfs2_bufdata 2006-08-18 15:51:09 -04:00
meta_io.h [GFS2] Tidy up in various files 2006-07-31 15:42:17 -04:00
mount.c [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
mount.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
ondisk.c [GFS2] Add generation number 2006-07-11 09:46:33 -04:00
ops_address.c [GFS2] Fix releasepage bug (fixes direct i/o writes) 2006-08-31 12:14:44 -04:00
ops_address.h [GFS2] Add generation number 2006-07-11 09:46:33 -04:00
ops_dentry.c [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
ops_dentry.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
ops_export.c [GFS2] NFS update 2006-07-13 09:24:48 -04:00
ops_export.h [GFS2] NFS update 2006-07-13 09:24:48 -04:00
ops_file.c [GFS2] Tidy up in various files 2006-07-31 15:42:17 -04:00
ops_file.h [GFS2] Mark file_operations const 2006-07-03 13:47:02 -04:00
ops_fstype.c [GFS2] Allow mounting of gfs2 and gfs2meta at the same time 2006-08-25 17:19:55 -04:00
ops_fstype.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
ops_inode.c [GFS2] Remove page.[ch] 2006-07-26 11:27:10 -04:00
ops_inode.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
ops_super.c [GFS2] Allow mounting of gfs2 and gfs2meta at the same time 2006-08-25 17:19:55 -04:00
ops_super.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
ops_vm.c [GFS2] Fix lock ordering bug in page fault path 2006-08-04 15:41:22 -04:00
ops_vm.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
quota.c [GFS2] Remove dependance on tty_write_message() 2006-07-03 11:20:06 -04:00
quota.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
recovery.c [GFS2] Fix a couple of refcount leaks. 2006-08-10 17:18:59 -04:00
recovery.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
rgrp.c [GFS2] Another list_del bug 2006-08-22 16:25:50 -04:00
rgrp.h [GFS2] Add generation number 2006-07-11 09:46:33 -04:00
super.c [GFS2] Fix bug in super block reading code 2006-07-27 16:37:48 -04:00
super.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
sys.c [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
sys.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
trans.c [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00
trans.h [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
util.c [GFS2] Fix unlinked file handling 2006-06-14 15:32:57 -04:00
util.h [GFS2] Update copyright date to 2006 2006-05-18 15:09:15 -04:00