Re: Benchmark: NetBSD 2.0 beats FreeBSD 5.3
Am Freitag, 7. Januar 2005 09:58 schrieb Gerald Heinig: Hi Robert, the benchmark you cited is for uniprocessor systems only. It says nothing about multiprocessor performance, which is what FreeBSD is aiming for. It's comparing apples with oranges. No, many users, me included, only run FreeBSD on UP systems. Do I have to switch to (Net|Open|DragonFly)BSD because FreeBSD is now only targeted to MP? I do not think so, and thats why this benchmark does compare apples with apples, but these are microbenchmarks, and more complex tasks may show completely different results. I am also missing results with Linux (and other BSD's), which may better show our (FreeBSD's) position. Regards -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] - BSD Usergroup Austria - http://www.bugat.at/ -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- ___ freebsd-hackers@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: ZFS
Am Mittwoch, 15. September 2004 17:26 schrieb Andrea Campi: On Wed, Sep 15, 2004 at 10:59:36AM -0500, Sam wrote: Call me crazy, but does anyone else see this as hooey? 2^64 512B sectors is 8192 zettabytes (zetta, exa, peta, tera, ...). [...] Crappy marketing articles. This one's good though. fortune(6) worthy, I mean: Populating 128-bit file systems would exceed the quantum limits of earth-based storage. You couldn't fill a 128-bit storage pool without boiling the oceans. An technical facility with an diameter of 1 centimeter could store 10 ^ 66 bits. The maximal capability is limited by the entropy of the system, the whole visible universe has an entropy of 10 ^ 100 bits. The absolute border is the holographic border, a system increasing information storage over the holographic border will turn into a black hole. (see also Three Roads to Quantum Gravity, Von Lee Simolin, Basic Books, 2002) This may be stuff for an fortune ;) -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] - BSD Usergroup Austria - http://www.bugat.at/ -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: spambouncer tags much freebsd list mail as spam
Am Sonntag, 2. November 2003 16:59 schrieb C. Kukulies: I installed the spambouncer.org procmail script and before I was switching the behaviour from SILENT to COMPLAIN I took a look at my spam.incoming folder and found a lot of messages from freebsd-bugs and freebsd-mobile in there. Both lists are not directed to folders prior to spambouncer coming into effect so they are trapped by spambouncer and I suspect that other freebsd lists would be trapped as well. Filter mails from FreeBSD mailing lists with List-Id: header in procmail before spam checking or filter by an different header like Sender. This works well under kmail with spamassassin. Regards, -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] - BSD Usergroup Austria - http://www.bugat.at/ -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- ___ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to [EMAIL PROTECTED]
Re: generalized mergemaster(8)
Am Freitag, 21. März 2003 20:27 schrieb Garance A Drosihn: /var/tmp/temproot/etc/rc.d/ and /etc/rc.d/ have 17 differing files. (I)nstall, (D)elete, or (R)ecursively examine? [R] Then I could hit 'I' and update all of /etc/rc.d at once. At times I've asked Doug about some kind of pattern-support in ~/.mergemasterrc, where the user could specify filename-patterns of files where they want the default action to be install instead of leave for later. There are pros and cons with that idea, but that's what I was thinking of for the directories you describe. Doug has suggested that people could maybe do things with the MM_PRE_COMPARE_SCRIPT, for special processing like this. I have a small patch for pattern-support in ~/.mergemasterrc and already sent my ideas to Doug, but he said It could/should be done with MM_PRE_COMPARE_SCRIPT to me. Regards -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- *** mergemaster.orig Wed Mar 5 16:35:54 2003 --- mergemaster Thu Mar 6 15:47:38 2003 *** *** 106,115 diff_loop () { HANDLE_COMPFILE=v while [ ${HANDLE_COMPFILE} = v -o ${HANDLE_COMPFILE} = V -o \ ${HANDLE_COMPFILE} = NOT V ]; do ! if [ -f ${DESTDIR}${COMPFILE#.} -a -f ${COMPFILE} ]; then if [ ${HANDLE_COMPFILE} = v -o ${HANDLE_COMPFILE} = V ]; then echo '' echo ' == ' --- 106,133 diff_loop () { HANDLE_COMPFILE=v + AUTO_INSTALL_FILE=n + + case ${AUTO_INSTALL} in + [Yy][Ee][Ss]) + set -f + for each in $AUTO_INSTALL_FILES + do + if expr $COMPFILE : .$each\$ /dev/null; then + AUTO_INSTALL_FILE=y + break + fi + done + set +f + ;; + *) + ;; + esac while [ ${HANDLE_COMPFILE} = v -o ${HANDLE_COMPFILE} = V -o \ ${HANDLE_COMPFILE} = NOT V ]; do ! if [ -f ${DESTDIR}${COMPFILE#.} -a -f ${COMPFILE} -a \ ! $AUTO_INSTALL_FILE = n ]; then if [ ${HANDLE_COMPFILE} = v -o ${HANDLE_COMPFILE} = V ]; then echo '' echo ' == ' *** *** 124,130 fi else echo '' ! echo *** There is no installed version of ${COMPFILE} echo '' case ${AUTO_INSTALL} in [Yy][Ee][Ss]) --- 142,152 fi else echo '' ! if [ $AUTO_INSTALL_FILE = y ]; then ! echo *** Automatic installation of ${COMPFILE} ! else ! echo *** There is no installed version of ${COMPFILE} ! fi echo '' case ${AUTO_INSTALL} in [Yy][Ee][Ss]) AUTO_INSTALL_FILES=/etc/periodic/.*
Re: scan_ffs for UFS2
Am Freitag, 21. Februar 2003 22:38 schrieben Sie: At 10:20 PM +0100 2/19/03, Michael Ranner wrote: For what it's worth, we (FreeBSD) have a simple SuperBlock recovery program in /usr/src/tools/tools/find-sb. I picked up some updates from Dave Cross for that, and have a few more of my own. I just have to sit down and get them all together into a single version. I don't know how find-sb compares to the program you're talking about, but they sound kind of similar. Scan_ffs can print the lost disklabel for use with disklabel(8). Find-sb, that version from cvs, seems only to print info about the superblocks of each file system and you have to rebuild the lost disklabel for your self. I was on the search for a simple tool for everybody, and found scan_ffs several months ago in the OpenBSD distribution (so it seems find-sb was like reinventing the wheel) and Robert Watson suggested in a posting december last year to adopt scan_ffs for UFS2. IMHO we should reuse a already written program with existing man pages, so we have the same sounding tools for the same tasks. I don't know what find-sb could do with your patches applied. If it's superior to scan_ffs, we can forget scan_ffs. -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
scan_ffs for UFS2
Hello! I am trying to learn scan_ffs (original from OpenBSD, ported to FreeBSD by Robert Watson) about UFS2 on 5-CURRENT, but it will not find the Superblock and I dont understand exactly both for loops, especially that 512 byte increment. Scan_ffs is a system tool from OpenBSD to recover erased disklabels from your hard drive. Thanks for your input. -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- /* $OpenBSD: scan_ffs.c,v 1.8 2002/07/03 22:32:33 deraadt Exp $ */ /* * Copyright (c) 1998 Niklas Hallqvist, Tobias Weingartner * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in the *documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *must display the following acknowledgement: *This product includes software developed by Tobias Weingartner. * 4. The name of the author may not be used to endorse or promote products *derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include sys/types.h #include sys/param.h #include sys/fcntl.h #ifdef __FreeBSD__ #include ufs/ufs/dinode.h #endif #include ufs/ffs/fs.h #include unistd.h #include stdlib.h #include stdio.h #include string.h #include time.h #include err.h #if 0 #include util.h #endif #ifdef __FreeBSD__ #define SBSIZE SBLOCKSIZE #endif #define SBCOUNT 64 /* XXX - Should be configurable */ /* Flags to control ourselves... */ #define FLAG_VERBOSE 1 #define FLAG_SMART 2 #define FLAG_LABELS 4 int ufsscan(int fd, daddr_t beg, daddr_t end, int flags) { static char lastmount[MAXMNTLEN]; static u_int8_t buf[SBSIZE * SBCOUNT]; struct fs *sb; daddr_t blk, lastblk; int n; lastblk = -1; memset(lastmount, 0, MAXMNTLEN); for (blk = beg; blk = ((end0)?blk:end); blk += (SBCOUNT*SBSIZE/512)){ memset(buf, 0, SBSIZE * SBCOUNT); if (lseek(fd, (off_t)blk * 512, SEEK_SET) 0) err(1, lseek); if (read(fd, buf, SBSIZE * SBCOUNT) 0) err(1, read); for (n = 0; n (SBSIZE * SBCOUNT); n += 512){ sb = (struct fs*)(buf[n]); if ((sb-fs_magic == FS_UFS1_MAGIC) || (sb-fs_magic == FS_UFS2_MAGIC)) { if (flags FLAG_VERBOSE) printf(block %d id %x,%x size %d\n, blk + (n/512), sb-fs_id[0], sb-fs_id[1], sb-fs_size); if (((blk+(n/512)) - lastblk) == (SBSIZE/512)) { if (flags FLAG_LABELS ) { #ifdef __FreeBSD__ printf(X: %lld %lld 4.2BSD %ld %ld %ld # %s\n, #else printf(X: %d %d 4.2BSD %d %d %d # %s\n, #endif (daddr_t)((off_t)sb-fs_size * sb-fs_fsize / 512), blk+(n/512)-(2*SBSIZE/512), sb-fs_fsize, sb-fs_bsize, sb-fs_old_cpg, lastmount); } else { #ifdef __FreeBSD__ printf(ufs1 at %lld size %lld mount %s time %s\n, #else printf(ffs1 at %d size %lld mount %s time %s\n, #endif blk+(n/512)-(2*SBSIZE/512), (long long)(off_t)sb-fs_size * sb-fs_fsize, lastmount, ctime((time_t *)sb-fs_time)); } if (flags FLAG_SMART) { off_t size = (off_t)sb-fs_size * sb-fs_fsize; if ((n + size) (SBSIZE * SBCOUNT)) n +=
Re: scan_ffs for UFS2
Am Mittwoch, 19. Februar 2003 22:20 schrieb Michael Ranner: Hello! I am trying to learn scan_ffs (original from OpenBSD, ported to FreeBSD by Robert Watson) about UFS2 on 5-CURRENT, but it will not find the Superblock and I dont understand exactly both for loops, especially that 512 byte increment. Ok, now scan_ffs can detect a UFS2 filesystem, but scan_ffs does not calculate the correct offset for the disklabel. Further I do not unterstand the smart feature of scan_ffs fully at the moment. Where to I find CPG in an UFS2 superblock? How can I detect, if scan_ffs should display fs_old_cpg or the new cpg value. Which fields hold the new cpg value in the superblock? Regards, -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- /* $OpenBSD: scan_ffs.c,v 1.8 2002/07/03 22:32:33 deraadt Exp $ */ /* * Copyright (c) 1998 Niklas Hallqvist, Tobias Weingartner * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *notice, this list of conditions and the following disclaimer in the *documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *must display the following acknowledgement: *This product includes software developed by Tobias Weingartner. * 4. The name of the author may not be used to endorse or promote products *derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include sys/types.h #include sys/param.h #include sys/fcntl.h #ifdef __FreeBSD__ #include ufs/ufs/dinode.h #endif #include ufs/ffs/fs.h #include unistd.h #include stdlib.h #include stdio.h #include string.h #include time.h #include err.h #if 0 #include util.h #endif #ifdef __FreeBSD__ #define SBSIZE SBLOCKSIZE #endif #define SBCOUNT 64 /* XXX - Should be configurable */ /* Flags to control ourselves... */ #define FLAG_VERBOSE 1 #define FLAG_SMART 2 #define FLAG_LABELS 4 int ufsscan(int fd, daddr_t beg, daddr_t end, int flags) { static char lastmount[MAXMNTLEN]; static u_int8_t buf[SBSIZE * SBCOUNT]; struct fs *sb; daddr_t blk, lastblk; int n; #ifdef __FreeBSD__ int ufs; #endif lastblk = -1; memset(lastmount, 0, MAXMNTLEN); for (blk = beg; blk = ((end0)?blk:end); blk += (SBCOUNT*SBSIZE/512)){ memset(buf, 0, SBSIZE * SBCOUNT); if (lseek(fd, (off_t)blk * 512, SEEK_SET) 0) err(1, lseek); if (read(fd, buf, SBSIZE * SBCOUNT) 0) err(1, read); for (n = 0; n (SBSIZE * SBCOUNT); n += 512){ #ifdef __FreeBSD__ ufs = 0; #endif sb = (struct fs*)(buf[n]); #ifdef __FreeBSD__ if (sb-fs_magic == FS_UFS1_MAGIC) ufs = 1; if (sb-fs_magic == FS_UFS2_MAGIC) ufs = 2; if (ufs 0) { #else if (sb-fs_magic == FS_MAGIC) #endif if (flags FLAG_VERBOSE) printf(block %d id %x,%x size %d\n, blk + (n/512), sb-fs_id[0], sb-fs_id[1], sb-fs_size); #ifdef __FreeBSD__ if (((blk+(n/512)) - lastblk) == (SBSIZE*ufs/512)) { #else if (((blk+(n/512)) - lastblk) == (SBSIZE/512)) { #endif if (flags FLAG_LABELS ) { #ifdef __FreeBSD__ printf(X: %lld %lld 4.2BSD %ld %ld %ld # %s\n, #else printf(X: %d %d 4.2BSD %d %d %d # %s\n, #endif (daddr_t)((off_t)sb-fs_size
Porting NetBSD rfilter/wfilter mount_portal to FreeBSD
Hello! In a first shot, I have ported the rfilter/wfilter functionality from NetBSD's mount_portal to FreeBSD. At the moment I have used the FreeBSD 4.7-p2 sources because of the smaller differences, but if there is interest in merging these features in FreeBSD I will port it and the related man pages to CURRENT. The sources and diffs are available at http://www.ranner.jawa.at/freebsd.php#mount_portal Best Regards, /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
utmp/utmpx improvement
Hello! I have done some research for utmp improvement for FreeBSD and found the following URL which sounds very intersting: http://lists.debian.org/debian-bsd/2002/debian-bsd-200202/msg00142.html The author has posted an article in freebsd-hackers earlier thie year. What is the current status? Any interest to integrate this in FreeBSD. Regards -- /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: setattr() syscall as proposed by phk
Am Samstag, 14. Dezember 2002 16:24 schrieb Michael Ranner: Hi there! I have implemented the setattr(), lsetattr() and fsetattr() syscalls for 4.7 and 5.0. You can review my code on http://www.ranner.jawa.at/freebsd.php. In between I have modfied 5.0 restore to use setattr(). Because of the new UFS2 birth time attribute, I have to call utimes() before setattr(). Struct stat has no member for the file birth time. Any suggestions to improve setattr() in respect of the new UFS2. The systime of 5.0 restore decreases around 9%. from man utimes For filesystems that support file birth (creation) times (such as UFS2) the birth time will be set to the value of the second element if the second element is older than the currently set birth time. To set both a birth time and a modification time, two calls are required; the first to set the birth time and the second to set the (presumably newer) modification time. Ideally a new system call will be added that allows the setting of all three times at once. I'm also willing to implement the proposed new syscall, any suggestions for name and type of arguments (probably an array of struct timespec). The kernel code already supports an array with all three time stamps. Regards, /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
setattr() syscall as proposed by phk
Hi there! I have implemented the setattr(), lsetattr() and fsetattr() syscalls for 4.7 and 5.0. You can review my code on http://www.ranner.jawa.at/freebsd.php. Comments and suggestions are welcome. Regards, /\/\ichael Ranner [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED] -- JAWA Management Software GmbH - http://www.jawa.at/ Liebenauer Hauptstrasse 2oo - A-8041 Graz Tel +43 316 403274 21 - Fax +43 316 403274 10 -- Mariazell Online - http://www.mariazell.at/ -- -BEGIN GEEK CODE BLOCK- GIT/CS/AT dx(-) s+:(++:) a- C++ UBLVS$ P+$ L-(+)$ E--- W+++$ N+(++) o-- K- w--()$ O-(--) M@ V-(--) PS+++ PE(-) Y+ PGP(-) t+ 5+ X+++() R* tv++ b+(++) DI++ D-(--) G- e h--(*) r++ y? --END GEEK CODE BLOCK-- To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message