Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 871a2931 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jan Kara
Browse files

dquot: cleanup dquot initialize routine



Get rid of the initialize dquot operation - it is now always called from
the filesystem and if a filesystem really needs it's own (which none
currently does) it can just call into it's own routine directly.

Rename the now static low-level dquot_initialize helper to __dquot_initialize
and vfs_dq_init to dquot_initialize to have a consistent namespace.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 907f4554
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -460,7 +460,6 @@ in sys_read() and friends.

--------------------------- dquot_operations -------------------------------
prototypes:
	int (*initialize) (struct inode *, int);
	int (*write_dquot) (struct dquot *);
	int (*acquire_dquot) (struct dquot *);
	int (*release_dquot) (struct dquot *);
@@ -473,7 +472,6 @@ a proper locking wrt the filesystem and call the generic quota operations.
What filesystem should expect from the generic quota functions:

		FS recursion	Held locks when called
initialize:	yes		maybe dqonoff_sem
write_dquot:	yes		dqonoff_sem or dqptr_sem
acquire_dquot:	yes		dqonoff_sem or dqptr_sem
release_dquot:	yes		dqonoff_sem or dqptr_sem
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <linux/time.h>
#include <linux/pagemap.h>
#include <linux/quotaops.h>
#include "ext2.h"
#include "xattr.h"
#include "acl.h"
+1 −1
Original line number Diff line number Diff line
@@ -586,7 +586,7 @@ got:
		goto fail_drop;
	}

	vfs_dq_init(inode);
	dquot_initialize(inode);
	err = dquot_alloc_inode(inode);
	if (err)
		goto fail_drop;
+2 −2
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ static inline int ext2_inode_is_fast_symlink(struct inode *inode)
void ext2_delete_inode (struct inode * inode)
{
	if (!is_bad_inode(inode))
		vfs_dq_init(inode);
		dquot_initialize(inode);
	truncate_inode_pages(&inode->i_data, 0);

	if (is_bad_inode(inode))
@@ -1461,7 +1461,7 @@ int ext2_setattr(struct dentry *dentry, struct iattr *iattr)
		return error;

	if (iattr->ia_valid & ATTR_SIZE)
		vfs_dq_init(inode);
		dquot_initialize(inode);
	if ((iattr->ia_valid & ATTR_UID && iattr->ia_uid != inode->i_uid) ||
	    (iattr->ia_valid & ATTR_GID && iattr->ia_gid != inode->i_gid)) {
		error = dquot_transfer(inode, iattr);
+8 −8
Original line number Diff line number Diff line
@@ -102,7 +102,7 @@ static int ext2_create (struct inode * dir, struct dentry * dentry, int mode, st
{
	struct inode *inode;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	inode = ext2_new_inode(dir, mode);
	if (IS_ERR(inode))
@@ -131,7 +131,7 @@ static int ext2_mknod (struct inode * dir, struct dentry *dentry, int mode, dev_
	if (!new_valid_dev(rdev))
		return -EINVAL;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	inode = ext2_new_inode (dir, mode);
	err = PTR_ERR(inode);
@@ -157,7 +157,7 @@ static int ext2_symlink (struct inode * dir, struct dentry * dentry,
	if (l > sb->s_blocksize)
		goto out;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	inode = ext2_new_inode (dir, S_IFLNK | S_IRWXUGO);
	err = PTR_ERR(inode);
@@ -202,7 +202,7 @@ static int ext2_link (struct dentry * old_dentry, struct inode * dir,
	if (inode->i_nlink >= EXT2_LINK_MAX)
		return -EMLINK;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	inode->i_ctime = CURRENT_TIME_SEC;
	inode_inc_link_count(inode);
@@ -226,7 +226,7 @@ static int ext2_mkdir(struct inode * dir, struct dentry * dentry, int mode)
	if (dir->i_nlink >= EXT2_LINK_MAX)
		goto out;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	inode_inc_link_count(dir);

@@ -274,7 +274,7 @@ static int ext2_unlink(struct inode * dir, struct dentry *dentry)
	struct page * page;
	int err = -ENOENT;

	vfs_dq_init(dir);
	dquot_initialize(dir);

	de = ext2_find_entry (dir, &dentry->d_name, &page);
	if (!de)
@@ -318,8 +318,8 @@ static int ext2_rename (struct inode * old_dir, struct dentry * old_dentry,
	struct ext2_dir_entry_2 * old_de;
	int err = -ENOENT;

	vfs_dq_init(old_dir);
	vfs_dq_init(new_dir);
	dquot_initialize(old_dir);
	dquot_initialize(new_dir);

	old_de = ext2_find_entry (old_dir, &old_dentry->d_name, &old_page);
	if (!old_de)
Loading