svn commit: r251113 - stable/9/usr.sbin/newsyslog
Brooks Davis
brooks at FreeBSD.org
Thu May 30 00:55:35 UTC 2013
On Wed, May 29, 2013 at 06:37:17PM -0400, Mark Johnston wrote:
> I'm very sorry about this. I was going to merge r235647 first so that I
> wouldn't make the same mistake a second time, but I decided against it
> when I saw that the commit extended beyond newsyslog, and then managed
> to do the MFC incorrectly after verifying that newsyslog built on the
> stable branches. Is it possible to only do the newsyslog portion of this
> MFC, or is it a rule that either all or none of a given revision should
> be merged to the stable branches?
The approved way to merge a change like r235647 would be per-library and
per-program so only merging changes to a single program would be fine.
-- Brooks
>
> Sorry again,
> -Mark
>
> On Wed, May 29, 2013 at 10:30:30PM +0000, Mark Johnston wrote:
> > Author: markj
> > Date: Wed May 29 22:30:29 2013
> > New Revision: 251113
> > URL: http://svnweb.freebsd.org/changeset/base/251113
> >
> > Log:
> > Revert my previous merge. There's a variable name difference between head
> > and stable (dirfd vs. dir_fd) and I managed to get it wrong again when I
> > did the MFC, even after I tested.
> >
> > Modified:
> > stable/9/usr.sbin/newsyslog/newsyslog.c
> > Directory Properties:
> > stable/9/usr.sbin/newsyslog/ (props changed)
> >
> > Modified: stable/9/usr.sbin/newsyslog/newsyslog.c
> > ==============================================================================
> > --- stable/9/usr.sbin/newsyslog/newsyslog.c Wed May 29 22:29:33 2013 (r251112)
> > +++ stable/9/usr.sbin/newsyslog/newsyslog.c Wed May 29 22:30:29 2013 (r251113)
> > @@ -1450,27 +1450,16 @@ oldlog_entry_compare(const void *a, cons
> > * tm if this is the case; otherwise return false.
> > */
> > static int
> > -validate_old_timelog(int fd, const struct dirent *dp, const char *logfname,
> > - struct tm *tm)
> > +validate_old_timelog(const struct dirent *dp, const char *logfname, struct tm *tm)
> > {
> > - struct stat sb;
> > size_t logfname_len;
> > char *s;
> > int c;
> >
> > logfname_len = strlen(logfname);
> >
> > - if (dp->d_type != DT_REG) {
> > - /*
> > - * Some filesystems (e.g. NFS) don't fill out the d_type field
> > - * and leave it set to DT_UNKNOWN; in this case we must obtain
> > - * the file type ourselves.
> > - */
> > - if (dp->d_type != DT_UNKNOWN ||
> > - fstatat(fd, dp->d_name, &sb, AT_SYMLINK_NOFOLLOW) != 0 ||
> > - !S_ISREG(sb.st_mode))
> > - return (0);
> > - }
> > + if (dp->d_type != DT_REG)
> > + return (0);
> > /* Ignore everything but files with our logfile prefix. */
> > if (strncmp(dp->d_name, logfname, logfname_len) != 0)
> > return (0);
> > @@ -1556,7 +1545,7 @@ delete_oldest_timelog(const struct conf_
> > err(1, "Cannot open log directory '%s'", dir);
> > dirfd = dirfd(dirp);
> > while ((dp = readdir(dirp)) != NULL) {
> > - if (validate_old_timelog(dir_fd, dp, logfname, &tm) == 0)
> > + if (validate_old_timelog(dp, logfname, &tm) == 0)
> > continue;
> >
> > /*
> > @@ -2321,10 +2310,10 @@ mtime_old_timelog(const char *file)
> > dir_fd = dirfd(dirp);
> > /* Open the archive dir and find the most recent archive of logfname. */
> > while ((dp = readdir(dirp)) != NULL) {
> > - if (validate_old_timelog(dir_fd, dp, logfname, &tm) == 0)
> > + if (validate_old_timelog(dp, logfname, &tm) == 0)
> > continue;
> >
> > - if (fstatat(dir_fd, logfname, &sb, AT_SYMLINK_NOFOLLOW) == -1) {
> > + if (fstatat(dir_fd, logfname, &sb, 0) == -1) {
> > warn("Cannot stat '%s'", file);
> > continue;
> > }
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-stable-9/attachments/20130529/04e01d26/attachment.sig>
More information about the svn-src-stable-9
mailing list