* [parisc-linux] XFS - blkgetsize64
@ 2002-09-04 14:30 Stefan Pfetzing
2002-09-04 16:51 ` Grant Grundler
2002-09-05 5:28 ` Randolph Chung
0 siblings, 2 replies; 10+ messages in thread
From: Stefan Pfetzing @ 2002-09-04 14:30 UTC (permalink / raw)
To: parisc-linux
Hi,
I just tried to get XFS working on my C200 (I've got a new IBM SCSI disk.) and
mkfs.xfs always got the size of the Device (/dev/sda5) wrong. (it complained
about not getting with lseek64 to that position...)
(I don't have the correct error message ready, but I can check, if its needed)
After I changed the libxfs to only use the BLKGETSIZE64 ioctl, it works fine
now. (Eric Sandeen pointed me to this)
So he said, perhaps there is a bug in the SCSI (lasi?) driver.
bye
Stefan
P.S.: I'm using 2.4.19-pa9 with a self made diff from vanilla 2.4.19 against
XFS CVS. (the patch did in nearly cleanly)
--
http://www.dreamind.de/
Oroborus and Debian GNU/Linux Developer.
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 14:30 [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing @ 2002-09-04 16:51 ` Grant Grundler 2002-09-04 18:11 ` Randolph Chung 2002-09-04 18:28 ` [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing 2002-09-05 5:28 ` Randolph Chung 1 sibling, 2 replies; 10+ messages in thread From: Grant Grundler @ 2002-09-04 16:51 UTC (permalink / raw) To: Stefan Pfetzing; +Cc: parisc-linux Stefan Pfetzing wrote: > mkfs.xfs always got the size of the Device (/dev/sda5) wrong. (it complained > about not getting with lseek64 to that position...) ... > So he said, perhaps there is a bug in the SCSI (lasi?) driver. I don't think it's the driver. lseek64 must be getting redirected to lseek(). Linux kernel only supports "lseek". See "struct file_operations" in include/linux/fs.h. loff_t is a 64-bit type. include/linux/types.h:typedef __kernel_loff_t loff_t; include/asm/posix_types.h:typedef long long __kernel_loff_t; > P.S.: I'm using 2.4.19-pa9 with a self made diff from vanilla 2.4.19 against > XFS CVS. (the patch did in nearly cleanly) Are you running 32-bit or 64-bit kernel? I want to know if arch/parisc/kernel/sys_parisc32.c might be the problem. grant ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 16:51 ` Grant Grundler @ 2002-09-04 18:11 ` Randolph Chung 2002-09-04 18:42 ` [parisc-linux] GCC and quad-precision floating point John David Anglin 2002-09-04 18:28 ` [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing 1 sibling, 1 reply; 10+ messages in thread From: Randolph Chung @ 2002-09-04 18:11 UTC (permalink / raw) To: Grant Grundler; +Cc: Stefan Pfetzing, parisc-linux > I don't think it's the driver. no, not the driver... > lseek64 must be getting redirected to lseek(). > Linux kernel only supports "lseek". lseek64 is translated to a sys_llseek (you can see that with strace). > See "struct file_operations" in include/linux/fs.h. > loff_t is a 64-bit type. > include/linux/types.h:typedef __kernel_loff_t loff_t; > include/asm/posix_types.h:typedef long long __kernel_loff_t; we need to do some tricks to get this right ... some of the other syscalls are fixed, but this one is not it seems. > I want to know if arch/parisc/kernel/sys_parisc32.c might be the problem. fwiw sys_llseek is not translated. randolph ^ permalink raw reply [flat|nested] 10+ messages in thread
* [parisc-linux] GCC and quad-precision floating point 2002-09-04 18:11 ` Randolph Chung @ 2002-09-04 18:42 ` John David Anglin 2002-09-04 19:15 ` Carlos O'Donell 0 siblings, 1 reply; 10+ messages in thread From: John David Anglin @ 2002-09-04 18:42 UTC (permalink / raw) To: randolph; +Cc: grundler, parisc-linux I have just implemented some fixes and changed the long double size to 128 bits on the hppa64 GCC ports. For parisc-linux, the long double support should be 128 bits (both for 32 and 64 bit) but we are currently stuck at 64 bits because we are missing a bunch of quad library calls: _U_Qfadd, _U_Qfsub, _U_Qfmpy, _U_Qfdiv, _U_Qfneg, _U_Qfsqrt, _U_Qfabs, _U_Qfmin, _U_Qfmax, _U_Qfcnvff_sgl_to_quad, _U_Qfcnvff_dbl_to_quad, _U_Qfcnvff_quad_to_sgl, _U_Qfcnvff_quad_to_dbl, _U_Qfcnvxf_sgl_to_quad, _U_Qfcnvxf_dbl_to_quad, _U_Qfcnvfxt_quad_to_sgl, _U_Qfcnvfxt_quad_to_usgl, _U_Qfcnvfxt_quad_to_udbl, _U_Qfcnvfxt_quad_to_dbl, _U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, _U_Qflt, _U_Qfle. There are probably some more for unordered comparisons. Any chance that someone with contacts inside HP, might be able to obtain the source code for these functions? They are really part of the ABI. While it's relatively straightforward to implement these using the quad-precision instructions in the PA 2.0 architecture for the 64-bit port, it's non trivial to implement them for earlier architectures using the 32-bit port. Dave -- J. David Anglin dave.anglin@nrc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] GCC and quad-precision floating point 2002-09-04 18:42 ` [parisc-linux] GCC and quad-precision floating point John David Anglin @ 2002-09-04 19:15 ` Carlos O'Donell 2002-09-04 19:59 ` John David Anglin 0 siblings, 1 reply; 10+ messages in thread From: Carlos O'Donell @ 2002-09-04 19:15 UTC (permalink / raw) To: John David Anglin; +Cc: randolph, grundler, parisc-linux > I have just implemented some fixes and changed the long double size > to 128 bits on the hppa64 GCC ports. For parisc-linux, the long double > support should be 128 bits (both for 32 and 64 bit) but we are currently > stuck at 64 bits because we are missing a bunch of quad library calls: > > _U_Qfadd, _U_Qfsub, _U_Qfmpy, _U_Qfdiv, _U_Qfneg, _U_Qfsqrt, _U_Qfabs, > _U_Qfmin, _U_Qfmax, _U_Qfcnvff_sgl_to_quad, _U_Qfcnvff_dbl_to_quad, > _U_Qfcnvff_quad_to_sgl, _U_Qfcnvff_quad_to_dbl, _U_Qfcnvxf_sgl_to_quad, > _U_Qfcnvxf_dbl_to_quad, _U_Qfcnvfxt_quad_to_sgl, _U_Qfcnvfxt_quad_to_usgl, > _U_Qfcnvfxt_quad_to_udbl, _U_Qfcnvfxt_quad_to_dbl, _U_Qfeq, _U_Qfne, > _U_Qfgt, _U_Qfge, _U_Qflt, _U_Qfle. > > There are probably some more for unordered comparisons. > > Any chance that someone with contacts inside HP, might be able to > obtain the source code for these functions? They are really part > of the ABI. > > While it's relatively straightforward to implement these using the > quad-precision instructions in the PA 2.0 architecture for the 64-bit > port, it's non trivial to implement them for earlier architectures > using the 32-bit port. > > Dave Randolph and I were discussing borrowing from gmp to implement some of these for the earlier 32-bit processors. Thought it seems that this may break the HPUX compatibility? gmp seems to have support for: add, sub, multiply, div, neg, sqrt, abs, min, max equals, not-equals, greater-than, greather-than-or-equal, less-than, less-than-or-equal. The 'cnv' functions need to be addressed: single -> quad double -> quad quad -> single quad -> double quad -> unsigned single quad -> unsigned double Under certain conditions of float-float, float-fixed, float-fixed&truncate. This will have to follow the HPUX convention? c. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] GCC and quad-precision floating point 2002-09-04 19:15 ` Carlos O'Donell @ 2002-09-04 19:59 ` John David Anglin 0 siblings, 0 replies; 10+ messages in thread From: John David Anglin @ 2002-09-04 19:59 UTC (permalink / raw) To: Carlos O'Donell; +Cc: randolph, grundler, parisc-linux > Randolph and I were discussing borrowing from gmp to implement some of > these for the earlier 32-bit processors. Thought it seems that this may > break the HPUX compatibility? I would guess that that the best compatibility would be obtained with the HP functions. As far as I can tell, gmp does not use IEEE standard data types. Thus, concepts of nans, snans, unordered if present at all in gmp would differ. GCC can only deal with floating data in IEEE format. So, conversion would have to be done for all operations. I presume that the HPUX compatibility is just for static binaries (i.e., there is no shared library support). In this case, the routines would be compiled into hpux binaries. So, I don't think much additional would be needed at an os level. Dave -- J. David Anglin dave.anglin@nrc.ca National Research Council of Canada (613) 990-0752 (FAX: 952-6605) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 16:51 ` Grant Grundler 2002-09-04 18:11 ` Randolph Chung @ 2002-09-04 18:28 ` Stefan Pfetzing 2002-09-04 20:57 ` Stefan Pfetzing 1 sibling, 1 reply; 10+ messages in thread From: Stefan Pfetzing @ 2002-09-04 18:28 UTC (permalink / raw) To: Grant Grundler; +Cc: parisc-linux Hi, * Grant Grundler <grundler@dsl2.external.hp.com> [020904 18:51]: > Stefan Pfetzing wrote: [snip] > > P.S.: I'm using 2.4.19-pa9 with a self made diff from vanilla 2.4.19 against > > XFS CVS. (the patch did in nearly cleanly) > > Are you running 32-bit or 64-bit kernel? > I want to know if arch/parisc/kernel/sys_parisc32.c might be the problem. I'm running a 32bit kernel, since some time ago I had problems with 64bit and cdrecord. bye Stefan -- http://www.dreamind.de/ Oroborus and Debian GNU/Linux Developer. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 18:28 ` [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing @ 2002-09-04 20:57 ` Stefan Pfetzing 2002-09-05 4:38 ` Randolph Chung 0 siblings, 1 reply; 10+ messages in thread From: Stefan Pfetzing @ 2002-09-04 20:57 UTC (permalink / raw) To: parisc-linux Hum, replying to myself... * Stefan Pfetzing <dreamind@dreamind.de> [020904 20:28]: > * Grant Grundler <grundler@dsl2.external.hp.com> [020904 18:51]: > > Stefan Pfetzing wrote: > [snip] > > > P.S.: I'm using 2.4.19-pa9 with a self made diff from vanilla 2.4.19 against > > > XFS CVS. (the patch did in nearly cleanly) > > > > Are you running 32-bit or 64-bit kernel? > > I want to know if arch/parisc/kernel/sys_parisc32.c might be the problem. > I'm running a 32bit kernel, since some time ago I had problems with 64bit and > cdrecord. I just got a blkgetsize* testprogram... (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62038) ---snip--- root@hp:~# ./blkgetsizetester /dev/sda2 Device size is 83968 blocks (42991616 bytes) Device size per BLKGETSIZE64 is 12345 bytes root@hp:~# ./blkgetsizetester /dev/sda5 Device size is 1026016 blocks (525320192 bytes) Device size per BLKGETSIZE64 is 12345 bytes root@hp:~# ---snip--- I think thats the problem with xfs... well at least blkgetsize64 should report an error, if its not working correctly. bye Stefan -- http://www.dreamind.de/ Oroborus and Debian GNU/Linux Developer. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 20:57 ` Stefan Pfetzing @ 2002-09-05 4:38 ` Randolph Chung 0 siblings, 0 replies; 10+ messages in thread From: Randolph Chung @ 2002-09-05 4:38 UTC (permalink / raw) To: Stefan Pfetzing; +Cc: parisc-linux > I just got a blkgetsize* testprogram... > (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=62038) the test program has a nasty bug in it... #define BLKGETSIZE64 _IOR(0x12,114,sizeof(unsigned long long)) /* return device that's wrong.. it should be #define BLKGETSIZE64 _IOR(0x12,114,unsigned long long) /* return device randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [parisc-linux] XFS - blkgetsize64 2002-09-04 14:30 [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing 2002-09-04 16:51 ` Grant Grundler @ 2002-09-05 5:28 ` Randolph Chung 1 sibling, 0 replies; 10+ messages in thread From: Randolph Chung @ 2002-09-05 5:28 UTC (permalink / raw) To: Stefan Pfetzing; +Cc: parisc-linux > I just tried to get XFS working on my C200 (I've got a new IBM SCSI disk.) and > mkfs.xfs always got the size of the Device (/dev/sda5) wrong. (it complained > about not getting with lseek64 to that position...) 64-bit kernel: tausq@gsyprf11:~$ ls -l tst -r-x--xr-- 1 tausq tausq 1099511627777 Sep 4 22:18 tst* tausq@gsyprf11:~$ ./tt tst lseek64(3,0,SEEK_END) = 1048576M on my gecko (32-bit) randolph@frodo:~$ sudo ./t /dev/sda3 lseek64(3,0,SEEK_END) = 1949M seems to work ok? randolph -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/ ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-09-05 5:24 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-09-04 14:30 [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing 2002-09-04 16:51 ` Grant Grundler 2002-09-04 18:11 ` Randolph Chung 2002-09-04 18:42 ` [parisc-linux] GCC and quad-precision floating point John David Anglin 2002-09-04 19:15 ` Carlos O'Donell 2002-09-04 19:59 ` John David Anglin 2002-09-04 18:28 ` [parisc-linux] XFS - blkgetsize64 Stefan Pfetzing 2002-09-04 20:57 ` Stefan Pfetzing 2002-09-05 4:38 ` Randolph Chung 2002-09-05 5:28 ` Randolph Chung
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.