linux24/fs/jfs

OSS-jfs_Admin <[email protected]>
Newsgroups gmane.comp.file-systems.jfs.cvs
Message-ID <[email protected]>
Update of /usr/cvs/jfs/linux24/fs/jfs
In directory swg3ws024:/tmp/cvs-serv15654

Modified Files:
	file.c inode.c jfs_extent.c jfs_incore.h jfs_inode.c 
	jfs_lock.h jfs_logmgr.c jfs_txnmgr.c namei.c super.c 
Log Message:
Rework JFS's inode locking (shaggy)

In order for JFS to be able to quiesce the current activity, while
blocking new transactions, the locking needed some rework.  New
transactions are stopped in the functions txBegin or txBeginAnon,
where the rdwrlock (IREAD_LOCK/IWRITE_LOCK) may be held.  Dirty
inodes may need to be committed while new transactions are blocked
here, so another lock is introduced (commit_sem) which is taken after
txBegin/txBeginAnon is called.  This ensures that the proper
serialization takes place, without the write_inode method needing to
grab the rdwrlock.

In addition, the use of IWRITE_LOCK and IREAD_LOCK has been removed
from directory inodes.  The serialization done by the VFS using i_sem
is sufficient to avoid races.

This patch removes JFS's dependency on down_write_trylock.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.