From: Andreas Gruenbacher notify_change() gets called with at most the ATTR_MODE flag set for symlinks, but it should be called with the ATTR_MODE flag cleared. This triggers a bug in fs/reiserfs/xattr_acl.c (reiserfs plus acl patches), and perhaps on other file systems, too. (On ext2/ext3 symlinks have no ->setattr, there the bug does not trigger.) int reiserfs_acl_chmod (struct inode *inode) { struct posix_acl *acl, *clone; int error; ==> if (S_ISLNK(inode->i_mode)) ==> return -EOPNOTSUPP; This is the fix. --- 25-akpm/fs/nfsd/vfs.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/nfsd/vfs.c~invalid-notify_changesymlink-in-nfsd fs/nfsd/vfs.c --- 25/fs/nfsd/vfs.c~invalid-notify_changesymlink-in-nfsd Tue May 4 17:46:55 2004 +++ 25-akpm/fs/nfsd/vfs.c Tue May 4 17:46:55 2004 @@ -1212,7 +1212,7 @@ nfsd_symlink(struct svc_rqst *rqstp, str if (EX_ISSYNC(fhp->fh_export)) nfsd_sync_dir(dentry); if (iap) { - iap->ia_valid &= ATTR_MODE /* ~(ATTR_MODE|ATTR_UID|ATTR_GID)*/; + iap->ia_valid &= ~ATTR_MODE; if (iap->ia_valid) { iap->ia_valid |= ATTR_CTIME; iap->ia_mode = (iap->ia_mode&S_IALLUGO) _