…leases Changes affecting future time stamps * Egypt's spring-forward transition is at 24:00 on April's last Thursday, not 00:00 on April's last Friday. 2015's transition will therefore be on Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.) * Egypt will not observe DST in 2015 and will consider canceling it permanently. For now, assume no DST indefinitely. (Thanks to Ahmed Nazmy and Tim Parenti.) Changes affecting past time stamps * The following changes affect some pre-1991 Chile-related time stamps in America/Santiago, Antarctica/Palmer, and Pacific/Easter. The 1910 transition was January 10, not January 1. The 1918 transition was September 10, not September 1. The UTC-4 time observed from 1932 to 1942 is now considered to be standard time, not year-round DST. Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31, then reverted to standard time, then switched its time zone to UTC-5 on 1947-04-01. Assume transitions before 1968 were at 00:00, since we have no data saying otherwise. The spring 1988 transition was 1988-10-09, not 1988-10-02. The fall 1990 transition was 1990-03-11, not 1990-03-18. Assume no UTC offset change for Pacific/Easter on 1890-01-01, and omit all transitions on Pacific/Easter from 1942 through 1946 since we have no data suggesting that they existed. One more zone has been turned into a link, as it differed from an existing zone only for older time stamps. As usual, this change affects UTC offsets in pre-1970 time stamps only. The affected zone is America/Montreal. * America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not 1966-07-01. Also, Yukon's time zone history is documented better. (Thanks to Brian Inglis and Dennis Ferguson.) Change affecting past and future time zone abbreviations * The abbreviations for Hawaii-Aleutian standard and daylight times have been changed from HAST/HADT to HST/HDT, as per US Government Printing Office style. This affects only America/Adak since 1983, as America/Honolulu was already using the new style.
* Allows a SLAVE PFS to be exported. * WARNING: Clients who mount a SLAVE PFS from a server will only mount a snapshot. The client must unmount and remount the slave to resynchronize it. Also, if the server wipes the history pertaining the snapshot the client mounted, the client's mount will become corrupt.
* This is a bit of a hack but one of our users had a C720p which had a HP vendor id for its chips. It is possible that this was due to a BIOS mixup by Google. * Add hacks for it so sound works on his device.
* Correct buffer overflow from CVE-2015-1863. * Note that this code is NOT compiled into DragonFly's wpa_supplicant anyway, so the security advisory is not applicable to DragonFly. Fix the code anyway so it isn't accidently enabled with the security hole before the next vendor update.
This reverts commit d58869b. - According to the hammer rebalance (cmd_rebalance.c) which has a similar printf, this printf was probably intended to show localization type('s lower limit) when btree iteration starts, rather than localization types to look for during the iteration. Then it was right to print 0x0 (key_beg.localization) for %04x.
Per request, rather than define NO_GCC47 to prevent the building of the secondary compiler, the new variable is called NO_ALTCOMPILER. This will avoid some disruption in the future where the actual version is not important, only the desire to avoid the secondary compiler.
This is equivalent to the GCC 5.1 release plus 1 commit that changes the version from 5.1.0 to 5.1.1 to reopen the release branch. Last Changed Date: 2015-04-22 12:45:39 +0200 (Wed, 22 Apr 2015)
- Print reblock.key_end.localization when reblock starts instead of reblock.key_beg.localization. - hammer reblock printing 0000 while reblock-inodes printing 0001 and reblock-data|dirs printing 0002 seems strange because reblock covers all localization types ranging from MIN(0000) to MAX(ffff) on btree iteration (which obviously includes existing two types for inode and misc). Printing end localization should make better sense here.
- Print free_level/big_block_size when reblock starts instead of just free_level. - The meaning of 'fill_percentage' arg is easier to understand this way because the big block size is not obvious for most users while this arg is about selecting which big block to defrag.
- Just make things a bit more clear. - The rule is the ioctl caller sets localization type to reblock, and the ioctl code adds up ip localization to initialize cursor.
- Set *curp to either 0 or 1 regardless of *errorp. The previous return(0); case does this then all should do this.
- Remove if(S_ISLNK()) case for hammer snap since it never matches. - Also note it shouldn't be matching S_ISLNK() in the first place. If it does match hammer snap|snaplo|snapq commands will remove a symlink to the existing snapshot and relink to the new snapshot which results losing a reference to the old snapshot (although the old snapshot is still accessible as HAMMER's snapshot is just a pointer to the filesystem as of certain tid that is resolved when accessed).
- Call free(3) after asprintf(3)
* Cleanup a debugging kprintf(). * Cleanup incorrect dev reference and remove some unnecessary locking.
- Add printf for localiazation in addition to other struct hammer_base_elm fields.
- The ioctl HAMMERIOC_PFS_ITERATE added in commit 29d31c2 has several design issues. This commit and the previous try to fix them. Since it's been exposed to userspace, some of them are left as it is with comments. - Move hammer_ioc_pfs_iterate() to sys/vfs/hammer/hammer_pfs.c and rename it to hammer_ioc_iterate_pseudofs(). - struct hammer_ioc_pfs_iterate was not necessary. The existing struct hammer_ioc_pseudofs_rw which is being used by all other pfs ioctls has everything HAMMERIOC_PFS_ITERATE needs given that hammer_ioc_pfs_iterate::pos is just used as a pfs id. Using the unique struct requires hammer_ioc_iterate_pseudofs() extra conversion in order to make this ioctl behave like other pfs ioctls using autodetect.
- The ioctl HAMMERIOC_PFS_ITERATE added in commit 29d31c2 has several design issues. This commit and the next one try to fix them. Since it's been exposed to userspace, some of them are left as it is with comments. - The name hammer_ioc_pfs_iterate::pos (pi->pos) is misleading. It should have been 'pfs_id'. Users will have no idea what the 'pos' is supposed to be. - pi->pos is unsigned. - Don't shift pi->pos (Don't ip localize pi->pos). Copy it to a local variable and then shift that. - cursor.key_end fields are necessary only when iterating btree. This function has 'iterate' in its name but all it does is a single btree lookup. - Don't |= HAMMER_PFSD_DELETED with pi->head.flags. pi->head.flags is for HAMMER_IOC_XXX macros, but not for ondisk pfs status (it was lucky PFSD_DELETED does not conflict with those values). Users get pfs status from cursor.data->pfsd.mirror_flags copied to userspace. libhammer code that is based on this wrong flag checking is fixed accordingly. - Check if pi->ondisk is allocated. - Copy ondisk pfs data regardless of ondisk pfs delete flag bit. The delete flag doesn't mean the data is gone.
- The userspace hammer command shows "You are attempting to access a PFS softlink from a PFS..." and exit(1) whenever one tries to make a PFS from non root fs directory. - This restriction by userspace ensures @@PFS symlinks always belong to the root fs, in other words ip localization of those symlinks are always 0. HAMMER's kernel code doesn't impose this restriction on pfs, but userspace does.
while here: * remove 4+ Mb of unused texi files from contrib * update the 3 man pages from Release candidate * Change makefiles to not take man pages from contrib directory After thinking about it, I've decided to continue to update GCC from Subversion sources rather than limit updates to designated releases. This is the reason the man pages are not taken from contrib; they are only present in actual releases and not the SVN repository. The plan is to only update the man pages when GCC minor version is released. This is the first (and likely only) release candidate for GCC5. It will be known as gcc 5.1.0, but CCVER will remain at "gcc50" regardless if the version of gcc is 5.1.1 or 5.4.2. This includes changes up to SVN 222168 (April 17).
Last Changed Date: 2015-04-17 09:45:46 +0200 (Fri, 17 Apr 2015)
* Remove getuid_msg.c, no longer used. * Adjust syscall1.c to be more verbose. * Refactor syscall2.c to test on all threads in a somewhat more sophisticated manner. The test expects the scheduler to move the threads to their own cpus (and it should).