Skip to contentSkip to conversation

statfs() problem with glibc-2.5

parisc-linux Kyle McMartin 4 participants 7 messages Feb 12, 2007 – Feb 20, 2007 5 messages not in the archive PA-RISC architecture

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
In reply to a message not in the archive

Hi all,

After some more troubleshooting, I've found out that parisc doesn't hook up the statfs64 syscall.

Applying the attached patch and recompile glibc with updated headers makes df works again.

Apparently, the statfs64 syscalls are available since 2.5.74.

Please review the patch.

Regards,
Guy

Quoted 40 lines · On Mon, 12 Feb 2007 10:28:44 +0100 Guy Martin <[email protected]> wrote:

Hi all,

While running and testing glibc-2.5, I've encountered the following problem :

hope bin # ./df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             276Y  276Y  539Z 100% /
sysfs                18641256972210Y 18634655137640Y 70815813734120Y  21% /sys
udev                 18641256972210Y 18634655137640Y 70815813734120Y  21% /dev
devpts               18641256972210Y 18634655137640Y 70815813734120Y  21% /dev/pts
shm                  18641256972210Y 18634655137640Y 70815813734120Y  21% /dev/shm
usbfs                18641256972210Y 18634655137640Y 70815813734120Y  21% /proc/bus/usb
playa:/usr/portage/distfiles
                     18641256972210Y 18634655137640Y 70815813734120Y  21% /usr/portage/distfiles
/dev/sdb4            18641256972210Y 18634655137640Y 70815813734120Y  21% /mnt/gentoo
/dev/sdb2            18641256972210Y 18634655137640Y 70815813734120Y  21% /mnt/gentoo/boot

Despite the fact that I whish I had that capacity, there is definately an issue.

This is using glibc-2.5, 2.6.20-pa0 and corresponding headers.

Let me know if you need more info.

Cheers,
Guy

Signature · 7 lines
Guy Martin
Gentoo Linux - HPPA port lead

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
Signature · 2 lines
Guy Martin
Gentoo Linux - HPPA port lead
arch/parisc/kernel/syscall_table.S +2 -0
index 5114666..fb6788f 100644
@@ -403,5 +403,7 @@
 	ENTRY_COMP(move_pages)		/* 295 */
 	ENTRY_SAME(getcpu)
 	ENTRY_SAME(epoll_pwait)
+	ENTRY_COMP(statfs64)
+	ENTRY_COMP(fstatfs64)
 	/* Nothing yet */
 
include/asm-parisc/unistd.h +2 -0
index 7c1bb8b..4369991 100644
@@ -790,6 +790,8 @@
 #define __NR_move_pages		(__NR_Linux + 295)
 #define __NR_getcpu		(__NR_Linux + 296)
 #define __NR_epoll_pwait	(__NR_Linux + 297)
+#define __NR_statfs64		(__NR_Linux + 298)
+#define __NR_fstatfs64		(__NR_Linux + 299)
 
 #define __NR_Linux_syscalls     298
 

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

A message that is not in the archive (sent off-list or not yet received): [email protected]

#4 lore raw
Quoted 5 lines · Guy Martin

After some more troubleshooting, I've found out that parisc doesn't hook up the statfs64 syscall.

Applying the attached patch and recompile glibc with updated headers makes df works again.

Apparently, the statfs64 syscalls are available since 2.5.74.

Thanks, I'll test this later. We have this problem in Ubuntu right now on 64 bit kernels, but I hadn't narrowed it down enough to make a report yet. =)

Signature · 5 lines
Jeff Bailey - http://www.raspberryginger.com/jbailey/
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
#5 lore raw
In reply to a message not in the archive
Quoted 1 line · Guy Martin

After some more troubleshooting, I've found out that parisc doesn't hook up the statfs64 syscall.

I thought we didn't need a statfs64 syscall since it returns the same struct as statfs on parisc (due to the struct definitions already being big enough). However, now that I review the definitions, I think you're right and we should hook it up.

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

#6 lore raw
In reply to a message not in the archive

You're missing Signed-off-by, and since you don't have commit access, I cannot implicitly add it. Please resend the patch with your S-o-b line added.

Quoted 26 lines
arch/parisc/kernel/syscall_table.S +2 -0
index 5114666..fb6788f 100644
@@ -403,5 +403,7 @@
 	ENTRY_COMP(move_pages)		/* 295 */
 	ENTRY_SAME(getcpu)
 	ENTRY_SAME(epoll_pwait)
+	ENTRY_COMP(statfs64)
+	ENTRY_COMP(fstatfs64)
 	/* Nothing yet */
 
include/asm-parisc/unistd.h +2 -0
index 7c1bb8b..4369991 100644
@@ -790,6 +790,8 @@
 #define __NR_move_pages		(__NR_Linux + 295)
 #define __NR_getcpu		(__NR_Linux + 296)
 #define __NR_epoll_pwait	(__NR_Linux + 297)
+#define __NR_statfs64		(__NR_Linux + 298)
+#define __NR_fstatfs64		(__NR_Linux + 299)
 
 #define __NR_Linux_syscalls     298
 
Quoted 4 lines

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

#11 lore raw

Kyle,

Here is the proper patch with Signed-off-by.

Cheers,
Guy

Quoted 7 lines · On Sun, 18 Feb 2007 22:16:27 -0500 Kyle McMartin <[email protected]> wrote:
Quoted 4 lines · Carlos O'Donell
Quoted 1 line
Quoted 1 line

#define __NR_Linux_syscalls 298

You also forgot to update the total syscall count.

I fixed that one for him. ;-)

Signature · 2 lines
Guy Martin
Gentoo Linux - HPPA port lead

Add missing statfs64 and fstatfs64 to parisc.

arch/parisc/kernel/syscall_table.S +2 -0
index 5114666..7d665de 100644
@@ -403,5 +403,7 @@
 	ENTRY_COMP(move_pages)		/* 295 */
 	ENTRY_SAME(getcpu)
 	ENTRY_SAME(epoll_pwait)
+	ENTRY_COMP(statfs64)
+	ENTRY_COMP(fstatfs64)
 	/* Nothing yet */
 
include/asm-parisc/unistd.h +3 -1
index 7c1bb8b..5513bdf 100644
@@ -790,8 +790,10 @@
 #define __NR_move_pages		(__NR_Linux + 295)
 #define __NR_getcpu		(__NR_Linux + 296)
 #define __NR_epoll_pwait	(__NR_Linux + 297)
+#define __NR_statfs64		(__NR_Linux + 298)
+#define __NR_fstatfs64		(__NR_Linux + 299)
 
-#define __NR_Linux_syscalls     298
+#define __NR_Linux_syscalls     300
 
 #define HPUX_GATEWAY_ADDR       0xC0000004
 #define LINUX_GATEWAY_ADDR      0x100

_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux