pr_warn_ratelimited("overlayfs: inode number too big (%pd2, ino=%llu, xinobits=%d)\n",
#include <linux/posix_acl.h>
#include <linux/ratelimit.h>
int ovl_setattr(struct dentry *dentry, struct iattr *attr)
bool full_copy_up = false;
struct dentry *upperdentry;
const struct cred *old_cred;
err = setattr_prepare(dentry, attr);
err = ovl_want_write(dentry);
if (attr->ia_valid & ATTR_SIZE) {
struct inode *realinode = d_inode(ovl_dentry_real(dentry));
if (atomic_read(&realinode->i_writecount) < 0)
err = ovl_copy_up(dentry);
err = ovl_copy_up_with_data(dentry);
struct inode *winode = NULL;
upperdentry = ovl_dentry_upper(dentry);
if (attr->ia_valid & ATTR_SIZE) {
winode = d_inode(upperdentry);
err = get_write_access(winode);
if (attr->ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID))
attr->ia_valid &= ~ATTR_MODE;