[Ocfs2-commits] jlbec commits r2304 - branches/alloc_inode/fs/ocfs2
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri May 20 22:58:12 CDT 2005
Author: jlbec
Date: 2005-05-20 22:58:10 -0500 (Fri, 20 May 2005)
New Revision: 2304
Modified:
branches/alloc_inode/fs/ocfs2/buffer_head_io.c
branches/alloc_inode/fs/ocfs2/inode.c
branches/alloc_inode/fs/ocfs2/journal.c
branches/alloc_inode/fs/ocfs2/ocfs.h
Log:
o Move ip_io_sem to ocfs2_inode_info
Modified: branches/alloc_inode/fs/ocfs2/buffer_head_io.c
===================================================================
--- branches/alloc_inode/fs/ocfs2/buffer_head_io.c 2005-05-21 03:32:25 UTC (rev 2303)
+++ branches/alloc_inode/fs/ocfs2/buffer_head_io.c 2005-05-21 03:58:10 UTC (rev 2304)
@@ -77,12 +77,12 @@
sb = osb->sb;
if (inode)
- down(&OCFS_I(inode)->ip_io_sem);
+ down(&OCFS2_I(inode)->ip_io_sem);
for (i = 0 ; i < nr ; i++) {
bh = bhs[i];
if (bh == NULL) {
if (inode)
- up(&OCFS_I(inode)->ip_io_sem);
+ up(&OCFS2_I(inode)->ip_io_sem);
status = -EIO;
mlog_errno(status);
goto bail;
@@ -125,7 +125,7 @@
CLEAR_BH_SEQNUM(bh);
}
if (inode)
- up(&OCFS_I(inode)->ip_io_sem);
+ up(&OCFS2_I(inode)->ip_io_sem);
bail:
@@ -171,13 +171,13 @@
sb = osb->sb;
if (inode)
- down(&OCFS_I(inode)->ip_io_sem);
+ down(&OCFS2_I(inode)->ip_io_sem);
for (i = 0 ; i < nr ; i++) {
if (bhs[i] == NULL) {
bhs[i] = sb_getblk(sb, block++);
if (bhs[i] == NULL) {
if (inode)
- up(&OCFS_I(inode)->ip_io_sem);
+ up(&OCFS2_I(inode)->ip_io_sem);
status = -EIO;
mlog_errno(status);
goto bail;
@@ -258,7 +258,7 @@
CLEAR_BH_SEQNUM(bh);
}
if (inode)
- up(&OCFS_I(inode)->ip_io_sem);
+ up(&OCFS2_I(inode)->ip_io_sem);
mlog(ML_BH_IO, "block=(%"MLFu64"), nr=(%d), cached=%s\n", block, nr,
(!(flags & OCFS_BH_CACHED) || ignore_cache) ? "no" : "yes");
Modified: branches/alloc_inode/fs/ocfs2/inode.c
===================================================================
--- branches/alloc_inode/fs/ocfs2/inode.c 2005-05-21 03:32:25 UTC (rev 2303)
+++ branches/alloc_inode/fs/ocfs2/inode.c 2005-05-21 03:58:10 UTC (rev 2304)
@@ -213,12 +213,9 @@
i = inode->u.generic_ip;
memset(i, 0, sizeof(ocfs_inode_private));
- i->ip_flags = 0;
-
init_rwsem(&i->ip_alloc_sem);
- init_MUTEX(&(i->ip_io_sem));
- i->ip_flags |= OCFS_INODE_INITIALIZED;
+ i->ip_flags = OCFS_INODE_INITIALIZED;
return 0;
} /* ocfs_inode_init_private */
@@ -771,6 +768,12 @@
mlog_bug_on_msg(spin_is_locked(&oi->ip_lock),
"Clear inode of %"MLFu64", inode is locked\n",
oi->ip_blkno);
+
+ mlog_bug_on_msg(down_trylock(&oi->ip_io_sem),
+ "Clear inode of %"MLFu64", io_sem is locked\n",
+ oi->ip_blkno);
+ up(&oi->ip_io_sem);
+
mlog_bug_on_msg(oi->ip_open_count,
"Clear inode of %"MLFu64" has open count %d\n",
oi->ip_blkno, oi->ip_open_count);
Modified: branches/alloc_inode/fs/ocfs2/journal.c
===================================================================
--- branches/alloc_inode/fs/ocfs2/journal.c 2005-05-21 03:32:25 UTC (rev 2303)
+++ branches/alloc_inode/fs/ocfs2/journal.c 2005-05-21 03:58:10 UTC (rev 2304)
@@ -392,7 +392,7 @@
BUG();
}
- down(&OCFS_I(inode)->ip_io_sem);
+ down(&OCFS2_I(inode)->ip_io_sem);
switch (type) {
case OCFS_JOURNAL_ACCESS_CREATE:
case OCFS_JOURNAL_ACCESS_WRITE:
@@ -407,7 +407,7 @@
status = -EINVAL;
mlog(ML_ERROR, "Uknown access type!\n");
}
- up(&OCFS_I(inode)->ip_io_sem);
+ up(&OCFS2_I(inode)->ip_io_sem);
if (status < 0)
mlog(ML_ERROR, "Error %d getting %d access to buffer!\n",
Modified: branches/alloc_inode/fs/ocfs2/ocfs.h
===================================================================
--- branches/alloc_inode/fs/ocfs2/ocfs.h 2005-05-21 03:32:25 UTC (rev 2303)
+++ branches/alloc_inode/fs/ocfs2/ocfs.h 2005-05-21 03:58:10 UTC (rev 2304)
@@ -198,8 +198,6 @@
/* protects allocation changes on this inode. */
struct rw_semaphore ip_alloc_sem;
- struct semaphore ip_io_sem;
-
u32 ip_flags; /* see below */
} ocfs_inode_private;
@@ -211,8 +209,6 @@
#define OCFS_I(i) ((ocfs_inode_private *)(i->u.generic_ip))
-#define GET_INODE_CLEAN_SEQ(i) (atomic_t *)(&(OCFS_I(i)->ip_clean_buffer_seq))
-
typedef enum _ocfs_vol_state
{
VOLUME_INIT = 0,
More information about the Ocfs2-commits
mailing list