mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
convert exofs to ->evict_inode()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
845a2cc050
commit
4ec70c9b46
@ -263,7 +263,7 @@ int exofs_write_begin(struct file *file, struct address_space *mapping,
|
||||
extern struct inode *exofs_iget(struct super_block *, unsigned long);
|
||||
struct inode *exofs_new_inode(struct inode *, int);
|
||||
extern int exofs_write_inode(struct inode *, struct writeback_control *wbc);
|
||||
extern void exofs_delete_inode(struct inode *);
|
||||
extern void exofs_evict_inode(struct inode *);
|
||||
|
||||
/* dir.c: */
|
||||
int exofs_add_link(struct dentry *, struct inode *);
|
||||
|
@ -1307,7 +1307,7 @@ static void delete_done(struct exofs_io_state *ios, void *p)
|
||||
* from the OSD here. We make sure the object was created before we try and
|
||||
* delete it.
|
||||
*/
|
||||
void exofs_delete_inode(struct inode *inode)
|
||||
void exofs_evict_inode(struct inode *inode)
|
||||
{
|
||||
struct exofs_i_info *oi = exofs_i(inode);
|
||||
struct super_block *sb = inode->i_sb;
|
||||
@ -1318,11 +1318,11 @@ void exofs_delete_inode(struct inode *inode)
|
||||
truncate_inode_pages(&inode->i_data, 0);
|
||||
|
||||
/* TODO: should do better here */
|
||||
if (is_bad_inode(inode))
|
||||
if (inode->i_nlink || is_bad_inode(inode))
|
||||
goto no_delete;
|
||||
|
||||
inode->i_size = 0;
|
||||
clear_inode(inode);
|
||||
end_writeback(inode);
|
||||
|
||||
/* if we are deleting an obj that hasn't been created yet, wait */
|
||||
if (!obj_created(oi)) {
|
||||
@ -1353,5 +1353,5 @@ void exofs_delete_inode(struct inode *inode)
|
||||
return;
|
||||
|
||||
no_delete:
|
||||
clear_inode(inode);
|
||||
end_writeback(inode);
|
||||
}
|
||||
|
@ -743,7 +743,7 @@ static const struct super_operations exofs_sops = {
|
||||
.alloc_inode = exofs_alloc_inode,
|
||||
.destroy_inode = exofs_destroy_inode,
|
||||
.write_inode = exofs_write_inode,
|
||||
.delete_inode = exofs_delete_inode,
|
||||
.evict_inode = exofs_evict_inode,
|
||||
.put_super = exofs_put_super,
|
||||
.write_super = exofs_write_super,
|
||||
.sync_fs = exofs_sync_fs,
|
||||
|
Loading…
Reference in New Issue
Block a user