patch-2.3.28 linux/include/linux/quotaops.h

Next file: linux/include/net/ip.h
Previous file: linux/include/linux/quota.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.27/linux/include/linux/quotaops.h linux/include/linux/quotaops.h
@@ -31,8 +31,8 @@
 extern void dquot_free_block(const struct inode *inode, unsigned long number);
 extern void dquot_free_inode(const struct inode *inode, unsigned long number);
 
-extern int  dquot_transfer(struct inode *inode, struct iattr *iattr,
-                           char direction, uid_t initiator);
+extern int  dquot_transfer(struct dentry *dentry, struct iattr *iattr,
+                           uid_t initiator);
 
 /*
  * Operations supported for diskquotas.
@@ -99,17 +99,11 @@
 	int error = -EDQUOT;
 
 	if (dentry->d_inode->i_sb->dq_op) {
-		if (IS_QUOTAINIT(dentry->d_inode) == 0)
-			dentry->d_inode->i_sb->dq_op->initialize(dentry->d_inode, -1);
-		if (dentry->d_inode->i_sb->dq_op->transfer(dentry->d_inode, iattr, 0, current->fsuid))
-			goto out;
-		error = notify_change(dentry, iattr);
-		if (error)
-			dentry->d_inode->i_sb->dq_op->transfer(dentry->d_inode, iattr, 1, current->fsuid);
+		dentry->d_inode->i_sb->dq_op->initialize(dentry->d_inode, -1);
+		error = dentry->d_inode->i_sb->dq_op->transfer(dentry, iattr, current->fsuid);
 	} else {
 		error = notify_change(dentry, iattr);
 	}
-out:
 	return error;
 }
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)