git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
fs
/
hpfs
/
inode.c
diff --git
a/fs/hpfs/inode.c
b/fs/hpfs/inode.c
index
28483e9
..
56f2c33
100644
(file)
--- a/
fs/hpfs/inode.c
+++ b/
fs/hpfs/inode.c
@@
-141,7
+141,7
@@
void hpfs_read_inode(struct inode *i)
brelse(bh);
}
brelse(bh);
}
-void hpfs_write_inode_ea(struct inode *i, struct fnode *fnode)
+
static
void hpfs_write_inode_ea(struct inode *i, struct fnode *fnode)
{
struct hpfs_inode_info *hpfs_inode = hpfs_i(i);
/*if (fnode->acl_size_l || fnode->acl_size_s) {
{
struct hpfs_inode_info *hpfs_inode = hpfs_i(i);
/*if (fnode->acl_size_l || fnode->acl_size_s) {
@@
-186,9
+186,9
@@
void hpfs_write_inode(struct inode *i)
kfree(hpfs_inode->i_rddir_off);
hpfs_inode->i_rddir_off = NULL;
}
kfree(hpfs_inode->i_rddir_off);
hpfs_inode->i_rddir_off = NULL;
}
-
down(&hpfs_inode->i_parent
);
+
mutex_lock(&hpfs_inode->i_parent_mutex
);
if (!i->i_nlink) {
if (!i->i_nlink) {
-
up(&hpfs_inode->i_parent
);
+
mutex_unlock(&hpfs_inode->i_parent_mutex
);
return;
}
parent = iget_locked(i->i_sb, hpfs_inode->i_parent_dir);
return;
}
parent = iget_locked(i->i_sb, hpfs_inode->i_parent_dir);
@@
-199,14
+199,14
@@
void hpfs_write_inode(struct inode *i)
hpfs_read_inode(parent);
unlock_new_inode(parent);
}
hpfs_read_inode(parent);
unlock_new_inode(parent);
}
-
down(&hpfs_inode->i_sem
);
+
mutex_lock(&hpfs_inode->i_mutex
);
hpfs_write_inode_nolock(i);
hpfs_write_inode_nolock(i);
-
up(&hpfs_inode->i_sem
);
+
mutex_unlock(&hpfs_inode->i_mutex
);
iput(parent);
} else {
mark_inode_dirty(i);
}
iput(parent);
} else {
mark_inode_dirty(i);
}
-
up(&hpfs_inode->i_parent
);
+
mutex_unlock(&hpfs_inode->i_parent_mutex
);
}
void hpfs_write_inode_nolock(struct inode *i)
}
void hpfs_write_inode_nolock(struct inode *i)
@@
-284,6
+284,7
@@
void hpfs_write_if_changed(struct inode *inode)
void hpfs_delete_inode(struct inode *inode)
{
void hpfs_delete_inode(struct inode *inode)
{
+ truncate_inode_pages(&inode->i_data, 0);
lock_kernel();
hpfs_remove_fnode(inode->i_sb, inode->i_ino);
unlock_kernel();
lock_kernel();
hpfs_remove_fnode(inode->i_sb, inode->i_ino);
unlock_kernel();