# svn status M bin/rm/rm.c Index: bin/rm/rm.c =================================================================== --- bin/rm/rm.c (revision 242874) +++ bin/rm/rm.c (working copy) @@ -385,7 +385,13 @@ if (Pflag) if (!rm_overwrite(f, &sb)) continue; - rval = unlink(f); + /* If the file cannot be removed due to + * quota, truncate and try again. + */ + if ((rval = unlink(f)) == EDQUOT) { + if ((rval = truncate(f, 0)) == 0) + rval = unlink(f); + } } } if (rval && (!fflag || errno != ENOENT)) {