minixfs: Use dir_put_page() in minix_unlink() and minix_rename()
... rather than open-coding it there. Counterpart of the corresponding fs/sysv commit from Fabio's series... Reviewed-by: Fabio M. De Francesco <fabio.maria.de.francesco@linux.intel.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
ee0d27c907
commit
6628f69ee6
@ -26,12 +26,6 @@ const struct file_operations minix_dir_operations = {
|
|||||||
.fsync = generic_file_fsync,
|
.fsync = generic_file_fsync,
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline void dir_put_page(struct page *page)
|
|
||||||
{
|
|
||||||
kunmap(page);
|
|
||||||
put_page(page);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the offset into page `page_nr' of the last valid
|
* Return the offset into page `page_nr' of the last valid
|
||||||
* byte in that page, plus one.
|
* byte in that page, plus one.
|
||||||
|
@ -64,6 +64,11 @@ extern int V2_minix_get_block(struct inode *, long, struct buffer_head *, int);
|
|||||||
extern unsigned V1_minix_blocks(loff_t, struct super_block *);
|
extern unsigned V1_minix_blocks(loff_t, struct super_block *);
|
||||||
extern unsigned V2_minix_blocks(loff_t, struct super_block *);
|
extern unsigned V2_minix_blocks(loff_t, struct super_block *);
|
||||||
|
|
||||||
|
static inline void dir_put_page(struct page *page)
|
||||||
|
{
|
||||||
|
kunmap(page);
|
||||||
|
put_page(page);
|
||||||
|
}
|
||||||
extern struct minix_dir_entry *minix_find_entry(struct dentry*, struct page**);
|
extern struct minix_dir_entry *minix_find_entry(struct dentry*, struct page**);
|
||||||
extern int minix_add_link(struct dentry*, struct inode*);
|
extern int minix_add_link(struct dentry*, struct inode*);
|
||||||
extern int minix_delete_entry(struct minix_dir_entry*, struct page*);
|
extern int minix_delete_entry(struct minix_dir_entry*, struct page*);
|
||||||
|
@ -149,8 +149,7 @@ static int minix_unlink(struct inode * dir, struct dentry *dentry)
|
|||||||
if (!de)
|
if (!de)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
err = minix_delete_entry(de, page);
|
err = minix_delete_entry(de, page);
|
||||||
kunmap(page);
|
dir_put_page(page);
|
||||||
put_page(page);
|
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
@ -242,13 +241,10 @@ static int minix_rename(struct mnt_idmap *idmap,
|
|||||||
inode_dec_link_count(old_dir);
|
inode_dec_link_count(old_dir);
|
||||||
}
|
}
|
||||||
out_dir:
|
out_dir:
|
||||||
if (dir_de) {
|
if (dir_de)
|
||||||
kunmap(dir_page);
|
dir_put_page(dir_page);
|
||||||
put_page(dir_page);
|
|
||||||
}
|
|
||||||
out_old:
|
out_old:
|
||||||
kunmap(old_page);
|
dir_put_page(old_page);
|
||||||
put_page(old_page);
|
|
||||||
out:
|
out:
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user