[SSI] openssi/kernel/include/cluster/ssi/cfs cfs_fs.h, 1.19, 1.20 cfs_fs_i.h, 1.20, 1.21 cfs_page.h, 1.11, 1.12
Roger Tsang <[email protected]> Fri, 05 Mar 2010 05:23:59 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv25466/include/cluster/ssi/cfs
Modified Files:
Tag: OPENSSI-FC
cfs_fs.h cfs_fs_i.h cfs_page.h
Log Message:
* CFS (#ifdef CFS_ASYNC_LOCAL_SYNC):
- Optimize away unnecesary initialization in cfs_read_rpcsetup(),
cfs_write_rpcsetup().
* CFS (#ifdef CFS_CHARD_SYNC_FIX):
- Fix unstable data could have been lost due to server migrated or failover.
Unstable data is flushed again (to the new server) in cfs_reflush_inode().
- Fix downed pages were not properly coalesced. Coalesce downed pages on per
inode basis to reduce contention during failover.
* CFS (#ifdef CFS_PAGEVEC):
- Optimize away unnecesary initialization in cfs_commit_rpcsetup().
cluster/ssi/cfs/inode.c | 5
cluster/ssi/cfs/read.c | 28 ++++
cluster/ssi/cfs/write.c | 170 +++++++++++++++++++++++++----
include/cluster/ssi/cfs/cfs_fs.h | 3
include/cluster/ssi/cfs/cfs_fs_i.h | 10 +
include/cluster/ssi/cfs/cfs_page.h | 4
include/linux/config.h | 10 +
7 files changed, 206 insertions(+), 24 deletions(-)
Index: cfs_fs_i.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_fs_i.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- cfs_fs_i.h 2 Feb 2010 04:31:46 -0000 1.20
+++ cfs_fs_i.h 5 Mar 2010 05:23:57 -0000 1.21
@@ -190,6 +190,12 @@
off64_t c_nextw; /* Next write offset */
#endif
struct list_head c_ilists[CFS_MAX_LISTS];/* Process cnode lists */
+#ifdef CFS_CHARD_SYNC_FIX
+ struct list_head c_down_list; /* entry in struct cfs_server
+ * ->dirty_down or ->read_down */
+ struct list_head c_dirty_down; /* List of downed dirty pages */
+ struct list_head c_read_down; /* List of downed unread pages */
+#endif
#ifdef CFS_ZAP_CACHES
wait_queue_head_t c_i_wait;
#endif
@@ -277,6 +283,10 @@
#define ctofh(cnode) (&((cnode)->c_fh))
#define itocfh(inode) (ctofh(itoc(inode)))
+#ifdef CFS_CHARD_SYNC_FIX
+#define itoc_down(ip) (&itoc(ip)->c_down_list)
+#endif
+
#ifdef SSI_CFS_SKIP
/*
* Lock and unlock cnodes.
Index: cfs_fs.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_fs.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- cfs_fs.h 27 Oct 2009 03:18:30 -0000 1.19
+++ cfs_fs.h 5 Mar 2010 05:23:57 -0000 1.20
@@ -273,6 +273,9 @@
extern int cfs_sync_inode(struct inode *, unsigned long, unsigned int, int);
extern int cfs_flush_inode(struct inode *, unsigned long, unsigned int, int);
extern int cfs_flush_list(struct list_head *, unsigned int, int);
+#ifdef CFS_CHARD_SYNC_FIX
+extern int cfs_reflush_inode(struct inode *, unsigned long, unsigned int, int);
+#endif
#ifndef KERNEL2613
extern int cfs_commit_inode(struct inode *, unsigned long, unsigned int, int);
#else
Index: cfs_page.h
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/ssi/cfs/cfs_page.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- cfs_page.h 2 Nov 2009 03:44:37 -0000 1.11
+++ cfs_page.h 5 Mar 2010 05:23:57 -0000 1.12
@@ -30,7 +30,7 @@
*/
#define CFS_PAGE_TAG_DIRTY 0
#define CFS_PAGE_TAG_WRITEBACK 1
-#endif
+#endif /* KERNEL2616_53 */
/*
* Valid flags for a dirty buffer
@@ -40,7 +40,9 @@
#define PG_NEED_COMMIT 1
#define PG_NEED_RESCHED 2
#endif
+#ifndef CFS_ASYNC_QUEUE
#define PG_DOWN 3
+#endif
struct cfs_page {
struct list_head wb_list, /* Defines state of page: */
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev