diff options
Diffstat (limited to 'fs/ocfs2/namei.c')
-rw-r--r-- | fs/ocfs2/namei.c | 62 |
1 files changed, 10 insertions, 52 deletions
diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c index d9cd4e373a53..21d4a33d0f0e 100644 --- a/fs/ocfs2/namei.c +++ b/fs/ocfs2/namei.c | |||
@@ -384,11 +384,7 @@ static int ocfs2_mknod(struct inode *dir, | |||
384 | goto leave; | 384 | goto leave; |
385 | } | 385 | } |
386 | ocfs2_add_links_count(dirfe, 1); | 386 | ocfs2_add_links_count(dirfe, 1); |
387 | status = ocfs2_journal_dirty(handle, parent_fe_bh); | 387 | ocfs2_journal_dirty(handle, parent_fe_bh); |
388 | if (status < 0) { | ||
389 | mlog_errno(status); | ||
390 | goto leave; | ||
391 | } | ||
392 | inc_nlink(dir); | 388 | inc_nlink(dir); |
393 | } | 389 | } |
394 | 390 | ||
@@ -556,11 +552,7 @@ static int ocfs2_mknod_locked(struct ocfs2_super *osb, | |||
556 | fel->l_count = cpu_to_le16(ocfs2_extent_recs_per_inode(osb->sb)); | 552 | fel->l_count = cpu_to_le16(ocfs2_extent_recs_per_inode(osb->sb)); |
557 | } | 553 | } |
558 | 554 | ||
559 | status = ocfs2_journal_dirty(handle, *new_fe_bh); | 555 | ocfs2_journal_dirty(handle, *new_fe_bh); |
560 | if (status < 0) { | ||
561 | mlog_errno(status); | ||
562 | goto leave; | ||
563 | } | ||
564 | 556 | ||
565 | ocfs2_populate_inode(inode, fe, 1); | 557 | ocfs2_populate_inode(inode, fe, 1); |
566 | ocfs2_ci_set_new(osb, INODE_CACHE(inode)); | 558 | ocfs2_ci_set_new(osb, INODE_CACHE(inode)); |
@@ -694,14 +686,7 @@ static int ocfs2_link(struct dentry *old_dentry, | |||
694 | ocfs2_set_links_count(fe, inode->i_nlink); | 686 | ocfs2_set_links_count(fe, inode->i_nlink); |
695 | fe->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec); | 687 | fe->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec); |
696 | fe->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec); | 688 | fe->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec); |
697 | 689 | ocfs2_journal_dirty(handle, fe_bh); | |
698 | err = ocfs2_journal_dirty(handle, fe_bh); | ||
699 | if (err < 0) { | ||
700 | ocfs2_add_links_count(fe, -1); | ||
701 | drop_nlink(inode); | ||
702 | mlog_errno(err); | ||
703 | goto out_commit; | ||
704 | } | ||
705 | 690 | ||
706 | err = ocfs2_add_entry(handle, dentry, inode, | 691 | err = ocfs2_add_entry(handle, dentry, inode, |
707 | OCFS2_I(inode)->ip_blkno, | 692 | OCFS2_I(inode)->ip_blkno, |
@@ -898,12 +883,7 @@ static int ocfs2_unlink(struct inode *dir, | |||
898 | drop_nlink(inode); | 883 | drop_nlink(inode); |
899 | drop_nlink(inode); | 884 | drop_nlink(inode); |
900 | ocfs2_set_links_count(fe, inode->i_nlink); | 885 | ocfs2_set_links_count(fe, inode->i_nlink); |
901 | 886 | ocfs2_journal_dirty(handle, fe_bh); | |
902 | status = ocfs2_journal_dirty(handle, fe_bh); | ||
903 | if (status < 0) { | ||
904 | mlog_errno(status); | ||
905 | goto leave; | ||
906 | } | ||
907 | 887 | ||
908 | dir->i_ctime = dir->i_mtime = CURRENT_TIME; | 888 | dir->i_ctime = dir->i_mtime = CURRENT_TIME; |
909 | if (S_ISDIR(inode->i_mode)) | 889 | if (S_ISDIR(inode->i_mode)) |
@@ -1321,12 +1301,7 @@ static int ocfs2_rename(struct inode *old_dir, | |||
1321 | ocfs2_set_links_count(newfe, 0); | 1301 | ocfs2_set_links_count(newfe, 0); |
1322 | else | 1302 | else |
1323 | ocfs2_add_links_count(newfe, -1); | 1303 | ocfs2_add_links_count(newfe, -1); |
1324 | 1304 | ocfs2_journal_dirty(handle, newfe_bh); | |
1325 | status = ocfs2_journal_dirty(handle, newfe_bh); | ||
1326 | if (status < 0) { | ||
1327 | mlog_errno(status); | ||
1328 | goto bail; | ||
1329 | } | ||
1330 | } else { | 1305 | } else { |
1331 | /* if the name was not found in new_dir, add it now */ | 1306 | /* if the name was not found in new_dir, add it now */ |
1332 | status = ocfs2_add_entry(handle, new_dentry, old_inode, | 1307 | status = ocfs2_add_entry(handle, new_dentry, old_inode, |
@@ -1345,10 +1320,7 @@ static int ocfs2_rename(struct inode *old_dir, | |||
1345 | 1320 | ||
1346 | old_di->i_ctime = cpu_to_le64(old_inode->i_ctime.tv_sec); | 1321 | old_di->i_ctime = cpu_to_le64(old_inode->i_ctime.tv_sec); |
1347 | old_di->i_ctime_nsec = cpu_to_le32(old_inode->i_ctime.tv_nsec); | 1322 | old_di->i_ctime_nsec = cpu_to_le32(old_inode->i_ctime.tv_nsec); |
1348 | 1323 | ocfs2_journal_dirty(handle, old_inode_bh); | |
1349 | status = ocfs2_journal_dirty(handle, old_inode_bh); | ||
1350 | if (status < 0) | ||
1351 | mlog_errno(status); | ||
1352 | } else | 1324 | } else |
1353 | mlog_errno(status); | 1325 | mlog_errno(status); |
1354 | 1326 | ||
@@ -1420,7 +1392,7 @@ static int ocfs2_rename(struct inode *old_dir, | |||
1420 | OCFS2_JOURNAL_ACCESS_WRITE); | 1392 | OCFS2_JOURNAL_ACCESS_WRITE); |
1421 | fe = (struct ocfs2_dinode *) old_dir_bh->b_data; | 1393 | fe = (struct ocfs2_dinode *) old_dir_bh->b_data; |
1422 | ocfs2_set_links_count(fe, old_dir->i_nlink); | 1394 | ocfs2_set_links_count(fe, old_dir->i_nlink); |
1423 | status = ocfs2_journal_dirty(handle, old_dir_bh); | 1395 | ocfs2_journal_dirty(handle, old_dir_bh); |
1424 | } | 1396 | } |
1425 | } | 1397 | } |
1426 | ocfs2_dentry_move(old_dentry, new_dentry, old_dir, new_dir); | 1398 | ocfs2_dentry_move(old_dentry, new_dentry, old_dir, new_dir); |
@@ -1552,11 +1524,7 @@ static int ocfs2_create_symlink_data(struct ocfs2_super *osb, | |||
1552 | (bytes_left > sb->s_blocksize) ? sb->s_blocksize : | 1524 | (bytes_left > sb->s_blocksize) ? sb->s_blocksize : |
1553 | bytes_left); | 1525 | bytes_left); |
1554 | 1526 | ||
1555 | status = ocfs2_journal_dirty(handle, bhs[virtual]); | 1527 | ocfs2_journal_dirty(handle, bhs[virtual]); |
1556 | if (status < 0) { | ||
1557 | mlog_errno(status); | ||
1558 | goto bail; | ||
1559 | } | ||
1560 | 1528 | ||
1561 | virtual++; | 1529 | virtual++; |
1562 | p_blkno++; | 1530 | p_blkno++; |
@@ -1943,12 +1911,7 @@ static int ocfs2_orphan_add(struct ocfs2_super *osb, | |||
1943 | if (S_ISDIR(inode->i_mode)) | 1911 | if (S_ISDIR(inode->i_mode)) |
1944 | ocfs2_add_links_count(orphan_fe, 1); | 1912 | ocfs2_add_links_count(orphan_fe, 1); |
1945 | orphan_dir_inode->i_nlink = ocfs2_read_links_count(orphan_fe); | 1913 | orphan_dir_inode->i_nlink = ocfs2_read_links_count(orphan_fe); |
1946 | 1914 | ocfs2_journal_dirty(handle, orphan_dir_bh); | |
1947 | status = ocfs2_journal_dirty(handle, orphan_dir_bh); | ||
1948 | if (status < 0) { | ||
1949 | mlog_errno(status); | ||
1950 | goto leave; | ||
1951 | } | ||
1952 | 1915 | ||
1953 | status = __ocfs2_add_entry(handle, orphan_dir_inode, name, | 1916 | status = __ocfs2_add_entry(handle, orphan_dir_inode, name, |
1954 | OCFS2_ORPHAN_NAMELEN, inode, | 1917 | OCFS2_ORPHAN_NAMELEN, inode, |
@@ -2029,12 +1992,7 @@ int ocfs2_orphan_del(struct ocfs2_super *osb, | |||
2029 | if (S_ISDIR(inode->i_mode)) | 1992 | if (S_ISDIR(inode->i_mode)) |
2030 | ocfs2_add_links_count(orphan_fe, -1); | 1993 | ocfs2_add_links_count(orphan_fe, -1); |
2031 | orphan_dir_inode->i_nlink = ocfs2_read_links_count(orphan_fe); | 1994 | orphan_dir_inode->i_nlink = ocfs2_read_links_count(orphan_fe); |
2032 | 1995 | ocfs2_journal_dirty(handle, orphan_dir_bh); | |
2033 | status = ocfs2_journal_dirty(handle, orphan_dir_bh); | ||
2034 | if (status < 0) { | ||
2035 | mlog_errno(status); | ||
2036 | goto leave; | ||
2037 | } | ||
2038 | 1996 | ||
2039 | leave: | 1997 | leave: |
2040 | ocfs2_free_dir_lookup_result(&lookup); | 1998 | ocfs2_free_dir_lookup_result(&lookup); |