Date: Wed, 01 Nov 2000 20:35:32 +0100 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Marcel Moolenaar <marcel@cup.hp.com> Cc: Andrew Gallatin <gallatin@cs.duke.edu>, freebsd-current@FreeBSD.ORG Subject: Re: linux emulation Message-ID: <22496.973107332@critter> In-Reply-To: Your message of "Wed, 01 Nov 2000 14:31:10 EST." <3A006F7E.C31E2A85@cup.hp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <3A006F7E.C31E2A85@cup.hp.com>, Marcel Moolenaar writes: >Poul-Henning Kamp wrote: >> >> I was just looking at that piece of code, and I couldn't entirely >> make out what it was even trying to do. Can somebody more >> linuxolator savy explain what the function linux_ustat() should >> produce. > >The following comment explains what linux_ustat should do: > > /* > * lu.f_fname and lu.f_fpack are not used. They are always zeroed. > * lu.f_tinode and lu.f_tfree are set from the device's super block. > */ > >linux_ustat fills in a structure with the above mention fields. The >meaning of f_tinode and f_tfree are explained by the following two >statements: > > lu.f_tfree = stat->f_bfree; > lu.f_tinode = stat->f_ffree; > >In short: given the (u)dev_t, get the FS statistics and return the >number of free blocks and inodes of the FS on that device. But the udev_t is a (32bit truncated to) 16bit one, right ? In that case it will usually not work: crw-r----- 1 root operator 116, 0x00010002 1 Jan 1970 /dev/ad0 crw-r----- 1 root operator 116, 0x00020000 1 Jan 1970 /dev/ad0s1a crw-r----- 1 root operator 116, 0x00020001 1 Jan 1970 /dev/ad0s1b crw-r----- 1 root operator 116, 0x00020004 1 Jan 1970 /dev/ad0s1e crw-r----- 1 root operator 116, 0x00020005 1 Jan 1970 /dev/ad0s1f crw-r----- 1 root operator 116, 0x00030002 1 Jan 1970 /dev/ad0s2c crw-r----- 1 root operator 116, 0x00040000 1 Jan 1970 /dev/ad0s3a crw-r----- 1 root operator 116, 0x00040003 1 Jan 1970 /dev/ad0s3d Considering the fact that we were likely to return statistics for the wrong filesystem with the old code, and most likely cannot return the right statistics anyway, I think we should just return zero for those values (or some other more sensible values) -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22496.973107332>