patch-2.4.21 linux-2.4.21/fs/ext3/namei.c
Next file: linux-2.4.21/fs/ext3/super.c
Previous file: linux-2.4.21/fs/ext3/ioctl.c
Back to the patch index
Back to the overall index
- Lines: 104
- Date:
2003-06-13 07:51:37.000000000 -0700
- Orig file:
linux-2.4.20/fs/ext3/namei.c
- Orig date:
2002-11-28 15:53:15.000000000 -0800
diff -urN linux-2.4.20/fs/ext3/namei.c linux-2.4.21/fs/ext3/namei.c
@@ -429,8 +429,11 @@
{
int err = ext3_add_entry(handle, dentry, inode);
if (!err) {
- d_instantiate(dentry, inode);
- return 0;
+ err = ext3_mark_inode_dirty(handle, inode);
+ if (err == 0) {
+ d_instantiate(dentry, inode);
+ return 0;
+ }
}
ext3_dec_count(handle, inode);
iput(inode);
@@ -465,7 +468,6 @@
inode->i_fop = &ext3_file_operations;
inode->i_mapping->a_ops = &ext3_aops;
err = ext3_add_nondir(handle, dentry, inode);
- ext3_mark_inode_dirty(handle, inode);
}
ext3_journal_stop(handle, dir);
return err;
@@ -490,7 +492,6 @@
if (!IS_ERR(inode)) {
init_special_inode(inode, mode, rdev);
err = ext3_add_nondir(handle, dentry, inode);
- ext3_mark_inode_dirty(handle, inode);
}
ext3_journal_stop(handle, dir);
return err;
@@ -715,10 +716,10 @@
{
struct list_head *prev;
struct ext3_sb_info *sbi;
- ino_t ino_next;
+ unsigned long ino_next;
struct ext3_iloc iloc;
int err = 0;
-
+
lock_super(inode->i_sb);
if (list_empty(&inode->u.ext3_i.i_orphan)) {
unlock_super(inode->i_sb);
@@ -729,7 +730,7 @@
prev = inode->u.ext3_i.i_orphan.prev;
sbi = EXT3_SB(inode->i_sb);
- jbd_debug(4, "remove inode %ld from orphan list\n", inode->i_ino);
+ jbd_debug(4, "remove inode %lu from orphan list\n", inode->i_ino);
list_del(&inode->u.ext3_i.i_orphan);
INIT_LIST_HEAD(&inode->u.ext3_i.i_orphan);
@@ -740,13 +741,13 @@
* list in memory. */
if (!handle)
goto out;
-
+
err = ext3_reserve_inode_write(handle, inode, &iloc);
if (err)
goto out_err;
if (prev == &sbi->s_orphan) {
- jbd_debug(4, "superblock will point to %ld\n", ino_next);
+ jbd_debug(4, "superblock will point to %lu\n", ino_next);
BUFFER_TRACE(sbi->s_sbh, "get_write_access");
err = ext3_journal_get_write_access(handle, sbi->s_sbh);
if (err)
@@ -757,8 +758,8 @@
struct ext3_iloc iloc2;
struct inode *i_prev =
list_entry(prev, struct inode, u.ext3_i.i_orphan);
-
- jbd_debug(4, "orphan inode %ld will point to %ld\n",
+
+ jbd_debug(4, "orphan inode %lu will point to %lu\n",
i_prev->i_ino, ino_next);
err = ext3_reserve_inode_write(handle, i_prev, &iloc2);
if (err)
@@ -773,7 +774,7 @@
if (err)
goto out_brelse;
-out_err:
+out_err:
ext3_std_error(inode->i_sb, err);
out:
unlock_super(inode->i_sb);
@@ -934,7 +935,6 @@
}
inode->u.ext3_i.i_disksize = inode->i_size;
err = ext3_add_nondir(handle, dentry, inode);
- ext3_mark_inode_dirty(handle, inode);
out_stop:
ext3_journal_stop(handle, dir);
return err;
@@ -971,7 +971,6 @@
atomic_inc(&inode->i_count);
err = ext3_add_nondir(handle, dentry, inode);
- ext3_mark_inode_dirty(handle, inode);
ext3_journal_stop(handle, dir);
return err;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)