[Ocfs2-commits] khackel commits r1358 - trunk/src
svn-commits at oss.oracle.com
svn-commits at oss.oracle.com
Fri Aug 13 22:19:50 CDT 2004
Author: khackel
Date: 2004-08-13 21:19:48 -0500 (Fri, 13 Aug 2004)
New Revision: 1358
Modified:
trunk/src/namei.c
Log:
fix bugzilla bug 114
Modified: trunk/src/namei.c
===================================================================
--- trunk/src/namei.c 2004-08-14 01:29:44 UTC (rev 1357)
+++ trunk/src/namei.c 2004-08-14 02:19:48 UTC (rev 1358)
@@ -1242,14 +1242,36 @@
if (new_inode)
mark_inode_dirty(new_inode);
- if (old_dir != new_dir) {
- if (new_dir_nlink != new_dir->i_nlink)
- LOG_ERROR_ARGS("need to change nlink for new dir %llu from %d to %d\n",
- OCFS_I(new_dir)->ip_blkno, (int)new_dir_nlink, new_dir->i_nlink);
+ if (old_dir != new_dir)
+ if (new_dir_nlink != new_dir->i_nlink) {
+ if (!new_dir_bh) {
+ LOG_ERROR_ARGS("need to change nlink for new dir %llu from %d to %d "
+ "but bh is NULL!\n", OCFS_I(new_dir)->ip_blkno,
+ (int)new_dir_nlink, new_dir->i_nlink);
+ } else {
+ ocfs2_dinode *fe;
+ status = ocfs_journal_access(handle, new_dir_bh, OCFS_JOURNAL_ACCESS_WRITE);
+ fe = (ocfs2_dinode *) new_dir_bh->b_data;
+ fe->i_links_count = new_dir_nlink;
+ new_dir->i_nlink = new_dir_nlink;
+ status = ocfs_journal_dirty(handle, new_dir_bh);
+ }
+ }
+
+ if (old_dir_nlink != old_dir->i_nlink) {
+ if (!old_dir_bh) {
+ LOG_ERROR_ARGS("need to change nlink for old dir %llu from %d to %d "
+ "but bh is NULL!\n", OCFS_I(old_dir)->ip_blkno,
+ (int)old_dir_nlink, old_dir->i_nlink);
+ } else {
+ ocfs2_dinode *fe;
+ status = ocfs_journal_access(handle, old_dir_bh, OCFS_JOURNAL_ACCESS_WRITE);
+ fe = (ocfs2_dinode *) old_dir_bh->b_data;
+ fe->i_links_count = old_dir_nlink;
+ old_dir->i_nlink = old_dir_nlink;
+ status = ocfs_journal_dirty(handle, old_dir_bh);
+ }
}
- if (old_dir_nlink != old_dir->i_nlink)
- LOG_ERROR_ARGS("need to change nlink for old dir %llu from %d to %d\n",
- OCFS_I(old_dir)->ip_blkno, (int)old_dir_nlink, old_dir->i_nlink);
/* commit_trans */
ocfs_commit_trans(handle);
More information about the Ocfs2-commits
mailing list