ext4: Remove unnecessary quota functions
ext4_dquot_initialize() and ext4_dquot_drop() is no longer needed because of modified quota locking. Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
a219ce3748
commit
edf7245362
1 changed files with 2 additions and 42 deletions
|
@ -926,8 +926,6 @@ static int bdev_try_to_free_page(struct super_block *sb, struct page *page, gfp_
|
||||||
#define QTYPE2NAME(t) ((t) == USRQUOTA ? "user" : "group")
|
#define QTYPE2NAME(t) ((t) == USRQUOTA ? "user" : "group")
|
||||||
#define QTYPE2MOPT(on, t) ((t) == USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA))
|
#define QTYPE2MOPT(on, t) ((t) == USRQUOTA?((on)##USRJQUOTA):((on)##GRPJQUOTA))
|
||||||
|
|
||||||
static int ext4_dquot_initialize(struct inode *inode, int type);
|
|
||||||
static int ext4_dquot_drop(struct inode *inode);
|
|
||||||
static int ext4_write_dquot(struct dquot *dquot);
|
static int ext4_write_dquot(struct dquot *dquot);
|
||||||
static int ext4_acquire_dquot(struct dquot *dquot);
|
static int ext4_acquire_dquot(struct dquot *dquot);
|
||||||
static int ext4_release_dquot(struct dquot *dquot);
|
static int ext4_release_dquot(struct dquot *dquot);
|
||||||
|
@ -942,8 +940,8 @@ static ssize_t ext4_quota_write(struct super_block *sb, int type,
|
||||||
const char *data, size_t len, loff_t off);
|
const char *data, size_t len, loff_t off);
|
||||||
|
|
||||||
static struct dquot_operations ext4_quota_operations = {
|
static struct dquot_operations ext4_quota_operations = {
|
||||||
.initialize = ext4_dquot_initialize,
|
.initialize = dquot_initialize,
|
||||||
.drop = ext4_dquot_drop,
|
.drop = dquot_drop,
|
||||||
.alloc_space = dquot_alloc_space,
|
.alloc_space = dquot_alloc_space,
|
||||||
.alloc_inode = dquot_alloc_inode,
|
.alloc_inode = dquot_alloc_inode,
|
||||||
.free_space = dquot_free_space,
|
.free_space = dquot_free_space,
|
||||||
|
@ -3380,44 +3378,6 @@ static inline struct inode *dquot_to_inode(struct dquot *dquot)
|
||||||
return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type];
|
return sb_dqopt(dquot->dq_sb)->files[dquot->dq_type];
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ext4_dquot_initialize(struct inode *inode, int type)
|
|
||||||
{
|
|
||||||
handle_t *handle;
|
|
||||||
int ret, err;
|
|
||||||
|
|
||||||
/* We may create quota structure so we need to reserve enough blocks */
|
|
||||||
handle = ext4_journal_start(inode, 2*EXT4_QUOTA_INIT_BLOCKS(inode->i_sb));
|
|
||||||
if (IS_ERR(handle))
|
|
||||||
return PTR_ERR(handle);
|
|
||||||
ret = dquot_initialize(inode, type);
|
|
||||||
err = ext4_journal_stop(handle);
|
|
||||||
if (!ret)
|
|
||||||
ret = err;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ext4_dquot_drop(struct inode *inode)
|
|
||||||
{
|
|
||||||
handle_t *handle;
|
|
||||||
int ret, err;
|
|
||||||
|
|
||||||
/* We may delete quota structure so we need to reserve enough blocks */
|
|
||||||
handle = ext4_journal_start(inode, 2*EXT4_QUOTA_DEL_BLOCKS(inode->i_sb));
|
|
||||||
if (IS_ERR(handle)) {
|
|
||||||
/*
|
|
||||||
* We call dquot_drop() anyway to at least release references
|
|
||||||
* to quota structures so that umount does not hang.
|
|
||||||
*/
|
|
||||||
dquot_drop(inode);
|
|
||||||
return PTR_ERR(handle);
|
|
||||||
}
|
|
||||||
ret = dquot_drop(inode);
|
|
||||||
err = ext4_journal_stop(handle);
|
|
||||||
if (!ret)
|
|
||||||
ret = err;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ext4_write_dquot(struct dquot *dquot)
|
static int ext4_write_dquot(struct dquot *dquot)
|
||||||
{
|
{
|
||||||
int ret, err;
|
int ret, err;
|
||||||
|
|
Loading…
Add table
Reference in a new issue