Looks good:
Reviewed-by: Christoph Hellwig hch@lst.de
one minor nitpick below:
if ((ia_valid & ATTR_MODE)) {
if (S_ISLNK(inode->i_mode))
return -EOPNOTSUPP;
Maybe some of the rationale on why we have this check from the commit log should go here?