Commit deee3ce4 authored by Al Viro's avatar Al Viro

covert fatfs to ->evict_inode()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent d3b4f9ae
...@@ -263,7 +263,7 @@ static const struct address_space_operations fat_aops = { ...@@ -263,7 +263,7 @@ static const struct address_space_operations fat_aops = {
* check if the location is still valid and retry if it * check if the location is still valid and retry if it
* isn't. Otherwise we do changes. * isn't. Otherwise we do changes.
* 5. Spinlock is used to protect hash/unhash/location check/lookup * 5. Spinlock is used to protect hash/unhash/location check/lookup
* 6. fat_clear_inode() unhashes the F-d-c entry. * 6. fat_evict_inode() unhashes the F-d-c entry.
* 7. lookup() and readdir() do igrab() if they find a F-d-c entry * 7. lookup() and readdir() do igrab() if they find a F-d-c entry
* and consider negative result as cache miss. * and consider negative result as cache miss.
*/ */
...@@ -448,16 +448,15 @@ struct inode *fat_build_inode(struct super_block *sb, ...@@ -448,16 +448,15 @@ struct inode *fat_build_inode(struct super_block *sb,
EXPORT_SYMBOL_GPL(fat_build_inode); EXPORT_SYMBOL_GPL(fat_build_inode);
static void fat_delete_inode(struct inode *inode) static void fat_evict_inode(struct inode *inode)
{ {
truncate_inode_pages(&inode->i_data, 0); truncate_inode_pages(&inode->i_data, 0);
inode->i_size = 0; if (!inode->i_nlink) {
fat_truncate_blocks(inode, 0); inode->i_size = 0;
clear_inode(inode); fat_truncate_blocks(inode, 0);
} }
invalidate_inode_buffers(inode);
static void fat_clear_inode(struct inode *inode) end_writeback(inode);
{
fat_cache_inval_inode(inode); fat_cache_inval_inode(inode);
fat_detach(inode); fat_detach(inode);
} }
...@@ -674,12 +673,11 @@ static const struct super_operations fat_sops = { ...@@ -674,12 +673,11 @@ static const struct super_operations fat_sops = {
.alloc_inode = fat_alloc_inode, .alloc_inode = fat_alloc_inode,
.destroy_inode = fat_destroy_inode, .destroy_inode = fat_destroy_inode,
.write_inode = fat_write_inode, .write_inode = fat_write_inode,
.delete_inode = fat_delete_inode, .evict_inode = fat_evict_inode,
.put_super = fat_put_super, .put_super = fat_put_super,
.write_super = fat_write_super, .write_super = fat_write_super,
.sync_fs = fat_sync_fs, .sync_fs = fat_sync_fs,
.statfs = fat_statfs, .statfs = fat_statfs,
.clear_inode = fat_clear_inode,
.remount_fs = fat_remount, .remount_fs = fat_remount,
.show_options = fat_show_options, .show_options = fat_show_options,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment