patch-2.4.11-dontuse linux/fs/attr.c
Next file: linux/fs/autofs/init.c
Previous file: linux/fs/affs/inode.c
Back to the patch index
Back to the overall index
- Lines: 24
- Date:
Fri Oct 5 12:23:53 2001
- Orig file:
v2.4.10/linux/fs/attr.c
- Orig date:
Sun Sep 23 11:41:00 2001
diff -u --recursive --new-file v2.4.10/linux/fs/attr.c linux/fs/attr.c
@@ -11,6 +11,7 @@
#include <linux/smp_lock.h>
#include <linux/dnotify.h>
#include <linux/fcntl.h>
+#include <linux/quotaops.h>
/* Taken over from the old code... */
@@ -131,8 +132,13 @@
error = inode->i_op->setattr(dentry, attr);
else {
error = inode_change_ok(inode, attr);
- if (!error)
- inode_setattr(inode, attr);
+ if (!error) {
+ if ((ia_valid & ATTR_UID && attr->ia_uid != inode->i_uid) ||
+ (ia_valid & ATTR_GID && attr->ia_gid != inode->i_gid))
+ error = DQUOT_TRANSFER(inode, attr) ? -EDQUOT : 0;
+ if (!error)
+ inode_setattr(inode, attr);
+ }
}
unlock_kernel();
if (!error) {
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)