[SSI] openssi/kernel/include/cluster/gen cfs.x,1.9,1.10

Roger Tsang <[email protected]> Wed, 15 Dec 2010 06:44:27 +0000
Newsgroups gmane.linux.cluster.ssic.cvs
Message-ID <[email protected]>
Update of /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv9659/include/cluster/gen

Modified Files:
      Tag: OPENSSI-FC
	cfs.x 
Log Message:
cluster/ssi/cfs/cfs_subr.c (#ifdef CFS_ZAP_CACHES)
- cfs_update_attr: touch CFS_READTIME().

cluster/ssi/cfs/dir.c
- cfs_readdir_filler, uncached_readdir: no longer set CFS_INO_INVALID_ATIME c_flags since readlink() operation updates i_atime.

cluster/ssi/cfs/file.c
- do_setlk: skip cfs_zap_caches() since attributes were piggybacked during CFS flush.
- do_unlk, do_setlk: no need to clear the cache since token architecture guarantees cache coherency.

cluster/ssi/cfs/inode.c
- cfs_getattr: obtain CFS token before starting CFS SB thread.
- cfs_getattr: remove irrelevant CFS_SB_FSOP_START/DONE dance since this function is not the RPC operation.
- Fix [ ssic-linux-bugs 2010447 ] OpenSSI fails the glibc tst-atime test
  - cfs_getattr: force a getattr RPC operation if user cares about atime. (#ifdef CFS_ZAP_CACHES)
  - __cfs_revalidate_inode: do not do getattr too often. (#ifdef CFS_REVALIDATE_GETATTR)
  - cfs_fill_inode, __cfs_hpget: disable S_NOATIME i_flags since in cfs_getattr() we force a getattr.

cluster/ssi/cfs/inode.c (#ifdef CFS_SKIP)
- cfs_setattr: no need to flush data since token architecture guarantees cache coherency.

cluster/ssi/cfs/inode.c (#ifdef CFS_FILE_WRITE_LIVELOCK_FIX)
- cfs_setattr: test for ATTR_SIZE flag instead of down_write_trylock() on i_alloc_sem since our caller only acquires i_alloc_sem when ATTR_SIZE flag is set.
- cfs_setattr: no need to immediately re-acquire i_alloc_sem after re-acquiring i_sem since there is no race with DIO. CFS does not support DIO.

include/cluster/ssi/cfs/cfs_fs_i.h (#ifdef CFS_ZAP_CACHES)
- re-enable read_cache_jiffies field in cnode structure for CFS_READTIME() macro used in __cfs_revalidate_inode().

include/cluster/ssi/cfs/cfs_fs.h (#ifdef CFS_ZAP_CACHES)
- re-enable CFS_READTIME() preprocessor macro.

include/cluster/gen/cfs.x (#ifdef CFS_REVALIDATE_GETATTR)
- re-activate various code for CFS_PROTO->getattr().

include/linux/config.h
- re-enable CFS_REVALIDATE_GETATTR preprocessor directive to activate supporting code for CFS_PROTO->getattr().

 cluster/ssi/cfs/cfs_subr.c         |    2 
 cluster/ssi/cfs/dir.c              |    6 +
 cluster/ssi/cfs/file.c             |   15 ++
 cluster/ssi/cfs/inode.c            |  155 +++++++++++++----------------
 include/cluster/gen/cfs.x          |   12 +-
 include/cluster/ssi/cfs/cfs_fs.h   |    2 
 include/cluster/ssi/cfs/cfs_fs_i.h |    4 
 include/linux/config.h             |    4 
 8 files changed, 103 insertions(+), 97 deletions(-)


Index: cfs.x
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/include/cluster/gen/cfs.x,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- cfs.x	27 Oct 2009 03:18:30 -0000	1.9
+++ cfs.x	15 Dec 2010 06:44:25 -0000	1.10
@@ -439,11 +439,11 @@
 		struct cfscommitres CFSD_PROC_COMMIT(struct cfscommitargs) = 40;
 		enum cfsstat CFSD_REMOVE_NOTE(cfsremnotargs) = 41;
 #ifdef CFS_IOCTL_SKIP
-		struct cfsioctlres CFSD_PROC_IOCTL(struct cfsioctlargs) = 42;
-#endif
-#ifdef CFS_REVALIDATE_GETATTR
-		struct cfsattrstat CFSD_PROC_GETATTR(struct cfsgaargs) = 43;
+		struct cfsioctlres CFSD_PROC_IOCTL(struct cfsioctlargs) = XX;
 #endif
+/* #ifdef CFS_REVALIDATE_GETATTR */
+		struct cfsattrstat CFSD_PROC_GETATTR(struct cfsgaargs) = 42;
+/* #endif */
 	} = 0;
 } = 0x21111111;	/* BOGUS */
 
@@ -455,7 +455,7 @@
 	int32_t		cgia_agent;
 };
 
-#ifdef CFS_REVALIDATE_GETATTR
+%#ifdef CFS_REVALIDATE_GETATTR
 %/*
 % * Arguments to getattr
 % */
@@ -463,7 +463,7 @@
 	cfhandle_t 	cgaa_fh;
 	int32_t		cgaa_agent;
 };
-#endif
+%#endif
 
 %/*
 % * Arguments to setattr


------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d