[SSI] openssi/kernel/cluster/ssi/cfs proc.c,1.27,1.28
Roger Tsang <[email protected]> Wed, 16 Nov 2011 07:50:14 +0000
| Newsgroups | gmane.linux.cluster.ssic.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/cfs
In directory vz-cvs-3.sog:/tmp/cvs-serv3193/cluster/ssi/cfs
Modified Files:
Tag: OPENSSI-FC
proc.c
Log Message:
cfs_proc_write: remove un/set_sem_flushing() since CFS will no longer support recursion.
Index: proc.c
===================================================================
RCS file: /cvsroot/ssic-linux/openssi/kernel/cluster/ssi/cfs/proc.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- proc.c 25 Oct 2010 05:56:23 -0000 1.27
+++ proc.c 16 Nov 2011 07:50:12 -0000 1.28
@@ -703,48 +703,12 @@
#endif
if (CFS_AT_SERVER(data->inode)) {
struct kvec *vec;
-#ifdef CFS_FILE_WRITE_LIVELOCK_FIX
- struct inode *ip = itoc(data->inode)->c_hp->sct_ip;
- int stacked = 0;
-
- /* RT: [ ssic-linux-Bugs-686748 ] Filesystem stacking deadlock.
- *
- * Lock ordering:
- * (__cfs_file_write)
- * ...
- * (generic_file_buffered_write)
- * (cfs_updatepage)
- * ...
- * ->i_sem (generic_file_writev)
- * ...
- * (generic_file_buffered_write)
- * ...
- * (balance_dirty_pages)
- * ...
- * (cfs_writepages)
- * ...
- * ->i_sem (generic_file_writev)
- */
- if (unlikely(sem_owned(&ip->i_sem) &&
- !sem_flushing(&ip->i_sem))) {
- set_sem_flushing(&ip->i_sem);
- set_sem_flushing(&data->inode->i_sem);
- stacked = 1;
- }
-#endif
MAP_CFS_PAGEVEC(data, vec, vlen);
status = cfsd_write(itoc(data->inode)->c_hp, data->offset,
vec, vlen, (unsigned long)data->count,
data->stable);
UNMAP_CFS_PAGEVEC(data, vec, vlen);
-#ifdef CFS_FILE_WRITE_LIVELOCK_FIX
- if (unlikely(stacked)) {
- unset_sem_flushing(&ip->i_sem);
- unset_sem_flushing(&data->inode->i_sem);
- }
-#endif
-
if (status == 0)
cfs_update_attr(itoc(data->inode)->c_hp, data->inode, 1);
} else {
@@ -766,7 +730,7 @@
status = RCFS_WRITE(mip->mi_server, &rval, &data->args, &res_p,
&data->pagevec, vlen);
-#else
+#else /* !ICS_OOL_STRUCT_PAGES */
#warning ICS should support sendpage
CFS_PAGEVEC_MAP_BUFFER(data, buffer, vlen);
status = RCFS_WRITE(mip->mi_server, &rval, &data->args, &res_p,
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1