All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] mkfs.xfs (xfsprogs-2.3.5) failled
@ 2002-10-23  7:30 jsoe0708
  2002-10-24 17:58 ` [parisc-linux] " Stefan Pfetzing
  0 siblings, 1 reply; 15+ messages in thread
From: jsoe0708 @ 2002-10-23  7:30 UTC (permalink / raw)
  To: dreamind; +Cc: parisc-linux

Hi Stephan,

As you do earlier, I build a xfs-kernel diff versus 2.4.19 vanilla kernel,
apply it against 2.4.19-pa22 (with very small problem) and obtain a bootable
(and operational) kernel.

Now I rebuild debian package of xfsprogs-2.3.5 (cvs form) and obtain tools
binaries (without warning or error) but even mkfs -t xfs (mkfs.xfs) failed
with this concise message: "mkfs.xfs: cannot reserve space [28 - No space
left on device]".
(I try to xfs_check which failed also with a lot of error messages).

As you already do portage effort may be have you some idea of some starting
point of investigation?

Thanks in advance for all,
    Joel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-23  7:30 [parisc-linux] mkfs.xfs (xfsprogs-2.3.5) failled jsoe0708
@ 2002-10-24 17:58 ` Stefan Pfetzing
  2002-10-24 18:15   ` Randolph Chung
  2002-10-25  5:57   ` jsoe0708
  0 siblings, 2 replies; 15+ messages in thread
From: Stefan Pfetzing @ 2002-10-24 17:58 UTC (permalink / raw)
  To: jsoe0708; +Cc: parisc-linux

* jsoe0708@tiscali.be <jsoe0708@tiscali.be> [021023 09:30]:
> Hi Stephan,
> 
> As you do earlier, I build a xfs-kernel diff versus 2.4.19 vanilla kernel,
> apply it against 2.4.19-pa22 (with very small problem) and obtain a bootable
> (and operational) kernel.
Yup.

> Now I rebuild debian package of xfsprogs-2.3.5 (cvs form) and obtain tools
> binaries (without warning or error) but even mkfs -t xfs (mkfs.xfs) failed
> with this concise message: "mkfs.xfs: cannot reserve space [28 - No space
> left on device]".
> (I try to xfs_check which failed also with a lot of error messages).
Yea thats a problem, still in the Linux/Parisc kernel. It gives garbage with
BLKGETSIZE64. Simply look in the xfslibs directory where BLGKETSIZE64 is used
and comment that out. Thats a disgusting hack but it leads to a set of working
xfsprogs.

If you want I can make a patch for you, but this will take some time, since I
have the source not right by hand now.

bye

Stefan

-- 
        http://www.dreamind.de/
Oroborus and Debian GNU/Linux Developer.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 17:58 ` [parisc-linux] " Stefan Pfetzing
@ 2002-10-24 18:15   ` Randolph Chung
  2002-10-24 18:17     ` Stefan Pfetzing
  2002-10-25  5:57   ` jsoe0708
  1 sibling, 1 reply; 15+ messages in thread
From: Randolph Chung @ 2002-10-24 18:15 UTC (permalink / raw)
  To: Stefan Pfetzing; +Cc: jsoe0708, parisc-linux

> Yea thats a problem, still in the Linux/Parisc kernel. It gives garbage with
> BLKGETSIZE64. Simply look in the xfslibs directory where BLGKETSIZE64 is used
> and comment that out. Thats a disgusting hack but it leads to a set of working
> xfsprogs.

i thought i fixed this in the kernel recently (last month). If this is
still not working, please point out the kernel version you are using.

thanks
randolph

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 18:15   ` Randolph Chung
@ 2002-10-24 18:17     ` Stefan Pfetzing
  2002-10-24 19:00       ` Randolph Chung
  0 siblings, 1 reply; 15+ messages in thread
From: Stefan Pfetzing @ 2002-10-24 18:17 UTC (permalink / raw)
  To: Randolph Chung; +Cc: jsoe0708, parisc-linux

Hi,

* Randolph Chung <randolph@tausq.org> [021024 20:15]:
> i thought i fixed this in the kernel recently (last month). If this is
> still not working, please point out the kernel version you are using.
Hm, maybe, it has been a while since I updated that machine.

2.4.19-pa9-xfs is running there.

bye

Stefan

-- 
        http://www.dreamind.de/
Oroborus and Debian GNU/Linux Developer.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 18:17     ` Stefan Pfetzing
@ 2002-10-24 19:00       ` Randolph Chung
  2002-10-24 23:08         ` Stefan Pfetzing
                           ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Randolph Chung @ 2002-10-24 19:00 UTC (permalink / raw)
  To: Stefan Pfetzing; +Cc: jsoe0708, parisc-linux

> Hm, maybe, it has been a while since I updated that machine.
> 
> 2.4.19-pa9-xfs is running there.

what machine was this on? is this a 32-bit or 64-bit kernel?

randolph
--  
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 19:00       ` Randolph Chung
@ 2002-10-24 23:08         ` Stefan Pfetzing
  2002-10-25  6:04         ` jsoe0708
  2002-10-25 12:58         ` jsoe0708
  2 siblings, 0 replies; 15+ messages in thread
From: Stefan Pfetzing @ 2002-10-24 23:08 UTC (permalink / raw)
  To: Randolph Chung; +Cc: jsoe0708, parisc-linux

Hi Randolph,

* Randolph Chung <randolph@tausq.org> [021024 21:00]:
> > Hm, maybe, it has been a while since I updated that machine.
> > 
> > 2.4.19-pa9-xfs is running there.
> 
> what machine was this on? is this a 32-bit or 64-bit kernel?

Its a HP Visualize C200 and its a 32bit kernel.

bye

Stefan

-- 
        http://www.dreamind.de/
Oroborus and Debian GNU/Linux Developer.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 17:58 ` [parisc-linux] " Stefan Pfetzing
  2002-10-24 18:15   ` Randolph Chung
@ 2002-10-25  5:57   ` jsoe0708
  1 sibling, 0 replies; 15+ messages in thread
From: jsoe0708 @ 2002-10-25  5:57 UTC (permalink / raw)
  To: Stefan Pfetzing; +Cc: parisc-linux

Stephan,

>* jsoe0708@tiscali.be <jsoe0708@tiscali.be> [021023 09:30]:
>> Hi Stephan,
>> 
>> As you do earlier, I build a xfs-kernel diff versus 2.4.19 vanilla kernel,
>> apply it against 2.4.19-pa22 (with very small problem) and obtain a bootable
>> (and operational) kernel.
>Yup.
>
>> Now I rebuild debian package of xfsprogs-2.3.5 (cvs form) and obtain tools
>> binaries (without warning or error) but even mkfs -t xfs (mkfs.xfs) failed
>> with this concise message: "mkfs.xfs: cannot reserve space [28 - No space
>> left on device]".
>> (I try to xfs_check which failed also with a lot of error messages).
>Yea thats a problem, still in the Linux/Parisc kernel. It gives garbage
with
>BLKGETSIZE64. Simply look in the xfslibs directory where BLGKETSIZE64 is
>used
>and comment that out. Thats a disgusting hack but it leads to a set of working
>xfsprogs.
>
>If you want I can make a patch for you, but this will take some time, since
>I
>have the source not right by hand now.
Hmm I would have to be aware (as I try to implement put_user and get_user
for 64bits [ie long long] [unfortunately] without great success till now).

Evms also use BLKGETSIZE64 in a way that would be safely. The problem is
that hppa kernel just printk a bug message and do not return a error message
as ENOSYS or ENOTSUP? (duno yet how other platform manage this case)

Thanks for advise (will inform of progress)
    Joel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 19:00       ` Randolph Chung
  2002-10-24 23:08         ` Stefan Pfetzing
@ 2002-10-25  6:04         ` jsoe0708
  2002-10-25 12:58         ` jsoe0708
  2 siblings, 0 replies; 15+ messages in thread
From: jsoe0708 @ 2002-10-25  6:04 UTC (permalink / raw)
  To: Randolph Chung, Stefan Pfetzing; +Cc: parisc-linux

>
>> Hm, maybe, it has been a while since I updated that machine.
>> 
>> 2.4.19-pa9-xfs is running there.
>
>what machine was this on? is this a 32-bit or 64-bit kernel?
>
For my part it is 2.4.19-pa22 [32bits] (on a b180l)

I do think that BLGKETSIZE64 (in put_user and get_user) is well supported
in 64bits kernel but the job still have to do on 32bits kernel (?)

Thanks for attention and help,
    Joel

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-24 19:00       ` Randolph Chung
  2002-10-24 23:08         ` Stefan Pfetzing
  2002-10-25  6:04         ` jsoe0708
@ 2002-10-25 12:58         ` jsoe0708
  2002-10-25 15:09           ` jsoe0708
  2002-10-25 15:26           ` Randolph Chung
  2 siblings, 2 replies; 15+ messages in thread
From: jsoe0708 @ 2002-10-25 12:58 UTC (permalink / raw)
  To: Randolph Chung, Stefan Pfetzing; +Cc: parisc-linux

Hi Randolph,

It sure I found a bug in the two parts kernel and xfs.

A. The kernel hppa: put_user and get_user does just a printk for BUG messages
but don't return error code as ENOTSUP (or what else) (what I assume the
other platforms does when they do not yet support BLKGETSIZE64?)

Here is a small patch I suggest:
(I do not reach to implement an operational support of BLKGETSIZE64 [for
32bits kernel]; I do not find a easy way to manage code failure :-( )

--- uaccess.h.orig	2002-10-22 15:14:54.000000000 +0200
+++ uaccess.h	2002-10-23 13:46:48.000000000 +0200
@@ -35,10 +35,10 @@
 #define get_user __get_user
 
 #if BITS_PER_LONG == 32
-#define LDD_KERNEL(ptr)		BUG()
-#define LDD_USER(ptr)		BUG()
-#define STD_KERNEL(x, ptr)	BUG()
-#define STD_USER(x, ptr)	BUG()
+#define LDD_KERNEL(ptr)		BUG(); __gu_err=ENOTSUP;
+#define LDD_USER(ptr)		BUG(); __gu_err=ENOTSUP;
+#define STD_KERNEL(x, ptr)	BUG(); __pu_err=ENOTSUP;
+#define STD_USER(x, ptr)	BUG(); __pu_err=ENOTSUP;
 #else
 #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
 #define LDD_USER(ptr) __get_user_asm("ldd",ptr)
@@ -75,7 +75,7 @@
 	    case 2: __get_kernel_asm("ldh",ptr); break; \
 	    case 4: __get_kernel_asm("ldw",ptr); break; \
 	    case 8: LDD_KERNEL(ptr); break;		\
-	    default: BUG(); break;                      \
+	    default: BUG(); __gu_err=ENOTSUP; break;    \
 	    }                                           \
 	}                                               \
 	else {                                          \
@@ -84,7 +84,7 @@
 	    case 2: __get_user_asm("ldh",ptr); break;   \
 	    case 4: __get_user_asm("ldw",ptr); break;   \
 	    case 8: LDD_USER(ptr);  break;		\
-	    default: BUG(); break;                      \
+	    default: BUG(); __gu_err=ENOTSUP; break;    \
 	    }                                           \
 	}                                               \
 							\
@@ -144,7 +144,7 @@
 	    case 2: __put_kernel_asm("sth",x,ptr); break;       \
 	    case 4: __put_kernel_asm("stw",x,ptr); break;       \
 	    case 8: STD_KERNEL(x,ptr); break;			\
-	    default: BUG(); break;                              \
+	    default: BUG(); __pu_err=ENOTSUP; break;		\
 	    }                                                   \
 	}                                                       \
 	else {                                                  \
@@ -153,7 +153,7 @@
 	    case 2: __put_user_asm("sth",x,ptr); break;         \
 	    case 4: __put_user_asm("stw",x,ptr); break;         \
 	    case 8: STD_USER(x,ptr); break;			\
-	    default: BUG(); break;                              \
+	    default: BUG(); __pu_err=ENOTSUP; break;		\
 	    }                                                   \
 	}                                                       \
 								\

If all agreed, (awaiting better :?) can somebody ci it?


Thanks in advance for attention,
    Joel

PS: 
B. in xfs:

 	error = ioctl(fd, BLKGETSIZE64, &size);
-	if (error >= 0) {
+	if (!error) {
 		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */

AFAIK ioctl should return error=0 if success and error <>0 (>0?) 

here is the full patch I will suggest:

--- cmd/xfsprogs/libxfs/init.c.orig	2002-10-25 12:12:29.000000000 +0200
+++ cmd/xfsprogs/libxfs/init.c	2002-10-25 14:22:34.000000000 +0200
@@ -155,11 +155,14 @@
 			progname, path, strerror(errno));
 		exit(1);
 	}
+#if !defined(__hppa__) || defined(__LP64__)
 	error = ioctl(fd, BLKGETSIZE64, &size);
-	if (error >= 0) {
+	if (!error) {
 		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
 		size = size >> 9;
-	} else {
+	} else
+#endif
+        {
 		/* If BLKGETSIZE64 fails, try BLKGETSIZE */
 		unsigned long tmpsize;
 		error = ioctl(fd, BLKGETSIZE, &tmpsize);

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-25 12:58         ` jsoe0708
@ 2002-10-25 15:09           ` jsoe0708
  2002-10-26 17:39             ` Joel Soete
  2002-10-25 15:26           ` Randolph Chung
  1 sibling, 1 reply; 15+ messages in thread
From: jsoe0708 @ 2002-10-25 15:09 UTC (permalink / raw)
  To: Randolph Chung, Stefan Pfetzing; +Cc: parisc-linux

too bad:

 man ioctl advise that it would return -1 (not ENOTSUP which would be assign
to errno) I will try to see how?

Sorry to annoy,
    Joel

>-- Original Message --
>From: jsoe0708@tiscali.be
>Subject: Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
>To: "Randolph Chung" <randolph@tausq.org>,
>	"Stefan Pfetzing" <dreamind@dreamind.de>
>Cc: parisc-linux@lists.parisc-linux.org
>Date: Fri, 25 Oct 2002 14:58:42 +0200
>
>
>Hi Randolph,
>
>It sure I found a bug in the two parts kernel and xfs.
>
>A. The kernel hppa: put_user and get_user does just a printk for BUG messages
>but don't return error code as ENOTSUP (or what else) (what I assume the
>other platforms does when they do not yet support BLKGETSIZE64?)
>
>Here is a small patch I suggest:
>(I do not reach to implement an operational support of BLKGETSIZE64 [for
>32bits kernel]; I do not find a easy way to manage code failure :-( )
>
>--- uaccess.h.orig	2002-10-22 15:14:54.000000000 +0200
>+++ uaccess.h	2002-10-23 13:46:48.000000000 +0200
>@@ -35,10 +35,10 @@
> #define get_user __get_user
> 
> #if BITS_PER_LONG == 32
>-#define LDD_KERNEL(ptr)		BUG()
>-#define LDD_USER(ptr)		BUG()
>-#define STD_KERNEL(x, ptr)	BUG()
>-#define STD_USER(x, ptr)	BUG()
>+#define LDD_KERNEL(ptr)		BUG(); __gu_err=ENOTSUP;
>+#define LDD_USER(ptr)		BUG(); __gu_err=ENOTSUP;
>+#define STD_KERNEL(x, ptr)	BUG(); __pu_err=ENOTSUP;
>+#define STD_USER(x, ptr)	BUG(); __pu_err=ENOTSUP;
> #else
> #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
> #define LDD_USER(ptr) __get_user_asm("ldd",ptr)
>@@ -75,7 +75,7 @@
> 	    case 2: __get_kernel_asm("ldh",ptr); break; \
> 	    case 4: __get_kernel_asm("ldw",ptr); break; \
> 	    case 8: LDD_KERNEL(ptr); break;		\
>-	    default: BUG(); break;                      \
>+	    default: BUG(); __gu_err=ENOTSUP; break;    \
> 	    }                                           \
> 	}                                               \
> 	else {                                          \
>@@ -84,7 +84,7 @@
> 	    case 2: __get_user_asm("ldh",ptr); break;   \
> 	    case 4: __get_user_asm("ldw",ptr); break;   \
> 	    case 8: LDD_USER(ptr);  break;		\
>-	    default: BUG(); break;                      \
>+	    default: BUG(); __gu_err=ENOTSUP; break;    \
> 	    }                                           \
> 	}                                               \
> 							\
>@@ -144,7 +144,7 @@
> 	    case 2: __put_kernel_asm("sth",x,ptr); break;       \
> 	    case 4: __put_kernel_asm("stw",x,ptr); break;       \
> 	    case 8: STD_KERNEL(x,ptr); break;			\
>-	    default: BUG(); break;                              \
>+	    default: BUG(); __pu_err=ENOTSUP; break;		\
> 	    }                                                   \
> 	}                                                       \
> 	else {                                                  \
>@@ -153,7 +153,7 @@
> 	    case 2: __put_user_asm("sth",x,ptr); break;         \
> 	    case 4: __put_user_asm("stw",x,ptr); break;         \
> 	    case 8: STD_USER(x,ptr); break;			\
>-	    default: BUG(); break;                              \
>+	    default: BUG(); __pu_err=ENOTSUP; break;		\
> 	    }                                                   \
> 	}                                                       \
> 								\
>
>If all agreed, (awaiting better :?) can somebody ci it?
>
>
>Thanks in advance for attention,
>    Joel
>
>PS: 
>B. in xfs:
>
> 	error = ioctl(fd, BLKGETSIZE64, &size);
>-	if (error >= 0) {
>+	if (!error) {
> 		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>
>AFAIK ioctl should return error=0 if success and error <>0 (>0?) 
>
>here is the full patch I will suggest:
>
>--- cmd/xfsprogs/libxfs/init.c.orig	2002-10-25 12:12:29.000000000 +0200
>+++ cmd/xfsprogs/libxfs/init.c	2002-10-25 14:22:34.000000000 +0200
>@@ -155,11 +155,14 @@
> 			progname, path, strerror(errno));
> 		exit(1);
> 	}
>+#if !defined(__hppa__) || defined(__LP64__)
> 	error = ioctl(fd, BLKGETSIZE64, &size);
>-	if (error >= 0) {
>+	if (!error) {
> 		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
> 		size = size >> 9;
>-	} else {
>+	} else
>+#endif
>+        {
> 		/* If BLKGETSIZE64 fails, try BLKGETSIZE */
> 		unsigned long tmpsize;
> 		error = ioctl(fd, BLKGETSIZE, &tmpsize);
>
>_______________________________________________
>parisc-linux mailing list
>parisc-linux@lists.parisc-linux.org
>http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-25 12:58         ` jsoe0708
  2002-10-25 15:09           ` jsoe0708
@ 2002-10-25 15:26           ` Randolph Chung
  1 sibling, 0 replies; 15+ messages in thread
From: Randolph Chung @ 2002-10-25 15:26 UTC (permalink / raw)
  To: jsoe0708; +Cc: Stefan Pfetzing, parisc-linux

>  #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
>  #define LDD_USER(ptr) __get_user_asm("ldd",ptr)
> @@ -75,7 +75,7 @@
>  	    case 2: __get_kernel_asm("ldh",ptr); break; \
>  	    case 4: __get_kernel_asm("ldw",ptr); break; \
>  	    case 8: LDD_KERNEL(ptr); break;		\
> -	    default: BUG(); break;                      \
> +	    default: BUG(); __gu_err=ENOTSUP; break;    \
>  	    }                                           \
>  	}                                               \

this is wrong.

get_user is not defined to return an errno, just whether it's successful
or not.

i'll take a closer look this weekend.

randolph

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-25 15:09           ` jsoe0708
@ 2002-10-26 17:39             ` Joel Soete
  2002-10-26 21:18               ` Randolph Chung
  2002-10-26 23:40               ` Joel Soete
  0 siblings, 2 replies; 15+ messages in thread
From: Joel Soete @ 2002-10-26 17:39 UTC (permalink / raw)
  To: jsoe0708; +Cc: Randolph Chung, Stefan Pfetzing, parisc-linux

Hmm question about "default:" uaccess.h implementation on different 
platform:

i386 declare: "extern void __get_user_bad(void);"

ia64: "extern void __get_user_unknown (void);"

mips: "extern void __get_user_unknown(void);"
...
but not define elsewhere? (is it there so that the build of the kernel 
failed if that case was requested to run properly?)

Thanks in advance for attention,
     Joel

PS: afaik on i386 only put_user_u64 is define why not pending get_user?


jsoe0708@tiscali.be wrote:
> too bad:
> 
>  man ioctl advise that it would return -1 (not ENOTSUP which would be assign
> to errno) I will try to see how?
> 
> Sorry to annoy,
>     Joel
> 
> 
>>-- Original Message --
>>From: jsoe0708@tiscali.be
>>Subject: Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
>>To: "Randolph Chung" <randolph@tausq.org>,
>>	"Stefan Pfetzing" <dreamind@dreamind.de>
>>Cc: parisc-linux@lists.parisc-linux.org
>>Date: Fri, 25 Oct 2002 14:58:42 +0200
>>
>>
>>Hi Randolph,
>>
>>It sure I found a bug in the two parts kernel and xfs.
>>
>>A. The kernel hppa: put_user and get_user does just a printk for BUG messages
>>but don't return error code as ENOTSUP (or what else) (what I assume the
>>other platforms does when they do not yet support BLKGETSIZE64?)
>>
>>Here is a small patch I suggest:
>>(I do not reach to implement an operational support of BLKGETSIZE64 [for
>>32bits kernel]; I do not find a easy way to manage code failure :-( )
>>
>>--- uaccess.h.orig	2002-10-22 15:14:54.000000000 +0200
>>+++ uaccess.h	2002-10-23 13:46:48.000000000 +0200
>>@@ -35,10 +35,10 @@
>>#define get_user __get_user
>>
>>#if BITS_PER_LONG == 32
>>-#define LDD_KERNEL(ptr)		BUG()
>>-#define LDD_USER(ptr)		BUG()
>>-#define STD_KERNEL(x, ptr)	BUG()
>>-#define STD_USER(x, ptr)	BUG()
>>+#define LDD_KERNEL(ptr)		BUG(); __gu_err=ENOTSUP;
>>+#define LDD_USER(ptr)		BUG(); __gu_err=ENOTSUP;
>>+#define STD_KERNEL(x, ptr)	BUG(); __pu_err=ENOTSUP;
>>+#define STD_USER(x, ptr)	BUG(); __pu_err=ENOTSUP;
>>#else
>>#define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
>>#define LDD_USER(ptr) __get_user_asm("ldd",ptr)
>>@@ -75,7 +75,7 @@
>>	    case 2: __get_kernel_asm("ldh",ptr); break; \
>>	    case 4: __get_kernel_asm("ldw",ptr); break; \
>>	    case 8: LDD_KERNEL(ptr); break;		\
>>-	    default: BUG(); break;                      \
>>+	    default: BUG(); __gu_err=ENOTSUP; break;    \
>>	    }                                           \
>>	}                                               \
>>	else {                                          \
>>@@ -84,7 +84,7 @@
>>	    case 2: __get_user_asm("ldh",ptr); break;   \
>>	    case 4: __get_user_asm("ldw",ptr); break;   \
>>	    case 8: LDD_USER(ptr);  break;		\
>>-	    default: BUG(); break;                      \
>>+	    default: BUG(); __gu_err=ENOTSUP; break;    \
>>	    }                                           \
>>	}                                               \
>>							\
>>@@ -144,7 +144,7 @@
>>	    case 2: __put_kernel_asm("sth",x,ptr); break;       \
>>	    case 4: __put_kernel_asm("stw",x,ptr); break;       \
>>	    case 8: STD_KERNEL(x,ptr); break;			\
>>-	    default: BUG(); break;                              \
>>+	    default: BUG(); __pu_err=ENOTSUP; break;		\
>>	    }                                                   \
>>	}                                                       \
>>	else {                                                  \
>>@@ -153,7 +153,7 @@
>>	    case 2: __put_user_asm("sth",x,ptr); break;         \
>>	    case 4: __put_user_asm("stw",x,ptr); break;         \
>>	    case 8: STD_USER(x,ptr); break;			\
>>-	    default: BUG(); break;                              \
>>+	    default: BUG(); __pu_err=ENOTSUP; break;		\
>>	    }                                                   \
>>	}                                                       \
>>								\
>>
>>If all agreed, (awaiting better :?) can somebody ci it?
>>
>>
>>Thanks in advance for attention,
>>   Joel
>>
>>PS: 
>>B. in xfs:
>>
>>	error = ioctl(fd, BLKGETSIZE64, &size);
>>-	if (error >= 0) {
>>+	if (!error) {
>>		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>
>>AFAIK ioctl should return error=0 if success and error <>0 (>0?) 
>>
>>here is the full patch I will suggest:
>>
>>--- cmd/xfsprogs/libxfs/init.c.orig	2002-10-25 12:12:29.000000000 +0200
>>+++ cmd/xfsprogs/libxfs/init.c	2002-10-25 14:22:34.000000000 +0200
>>@@ -155,11 +155,14 @@
>>			progname, path, strerror(errno));
>>		exit(1);
>>	}
>>+#if !defined(__hppa__) || defined(__LP64__)
>>	error = ioctl(fd, BLKGETSIZE64, &size);
>>-	if (error >= 0) {
>>+	if (!error) {
>>		/* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>		size = size >> 9;
>>-	} else {
>>+	} else
>>+#endif
>>+        {
>>		/* If BLKGETSIZE64 fails, try BLKGETSIZE */
>>		unsigned long tmpsize;
>>		error = ioctl(fd, BLKGETSIZE, &tmpsize);
>>
>>_______________________________________________
>>parisc-linux mailing list
>>parisc-linux@lists.parisc-linux.org
>>http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
> 
> 
> _______________________________________________
> parisc-linux mailing list
> parisc-linux@lists.parisc-linux.org
> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-26 17:39             ` Joel Soete
@ 2002-10-26 21:18               ` Randolph Chung
       [not found]                 ` <3DBB30C0.6060000@freebel.net>
  2002-10-26 23:40               ` Joel Soete
  1 sibling, 1 reply; 15+ messages in thread
From: Randolph Chung @ 2002-10-26 21:18 UTC (permalink / raw)
  To: Joel Soete; +Cc: jsoe0708, Stefan Pfetzing, parisc-linux

In reference to a message from Joel Soete, dated Oct 26:
> i386 declare: "extern void __get_user_bad(void);"
> ...
> but not define elsewhere? (is it there so that the build of the kernel 
> failed if that case was requested to run properly?)

yes.

> PS: afaik on i386 only put_user_u64 is define why not pending get_user?

on first glance i haven't found any code that uses get_user with 64-bit
quantities. if you have a specific need for this, please let me know.

in the mean time, i've checked in support for put_user with 64-bit
values. This is in 2.4.19-pa24

Let me know if this works for you. i've tested it only lightly.

randolph
--  
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
  2002-10-26 17:39             ` Joel Soete
  2002-10-26 21:18               ` Randolph Chung
@ 2002-10-26 23:40               ` Joel Soete
  1 sibling, 0 replies; 15+ messages in thread
From: Joel Soete @ 2002-10-26 23:40 UTC (permalink / raw)
  To: Joel Soete; +Cc: jsoe0708, Randolph Chung, Stefan Pfetzing, parisc-linux


Joel Soete wrote:
> Hmm question about "default:" uaccess.h implementation on different 
> platform:
> 
> i386 declare: "extern void __get_user_bad(void);"
> 
> ia64: "extern void __get_user_unknown (void);"
> 
> mips: "extern void __get_user_unknown(void);"
> ...
> but not define elsewhere? (is it there so that the build of the kernel 
> failed if that case was requested to run properly?)

In the mean time I verify this hypothesis. So may I suggest a patch in 
this direction?

[Better would be to add _also_ support as in the patch I suggest in 
<http://lists.parisc-linux.org/pipermail/parisc-linux/2002-October/017887.html>
this was tested for __put_user_asm_64 && __put_kernel_asm_64 (not the 
corresponding __get_ :( I don't know yet if I can use a .fixup section ?)

May be some other could test and verify closer this part ?

Joel

> 
> Thanks in advance for attention,
>     Joel
> 
> PS: afaik on i386 only put_user_u64 is define why not pending get_user?
> 
> 
> jsoe0708@tiscali.be wrote:
> 
>> too bad:
>>
>>  man ioctl advise that it would return -1 (not ENOTSUP which would be 
>> assign
>> to errno) I will try to see how?
>>
>> Sorry to annoy,
>>     Joel
>>
>>
>>> -- Original Message --
>>> From: jsoe0708@tiscali.be
>>> Subject: Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
>>> To: "Randolph Chung" <randolph@tausq.org>,
>>>     "Stefan Pfetzing" <dreamind@dreamind.de>
>>> Cc: parisc-linux@lists.parisc-linux.org
>>> Date: Fri, 25 Oct 2002 14:58:42 +0200
>>>
>>>
>>> Hi Randolph,
>>>
>>> It sure I found a bug in the two parts kernel and xfs.
>>>
>>> A. The kernel hppa: put_user and get_user does just a printk for BUG 
>>> messages
>>> but don't return error code as ENOTSUP (or what else) (what I assume the
>>> other platforms does when they do not yet support BLKGETSIZE64?)
>>>
>>> Here is a small patch I suggest:
>>> (I do not reach to implement an operational support of BLKGETSIZE64 [for
>>> 32bits kernel]; I do not find a easy way to manage code failure :-( )
>>>
>>> --- uaccess.h.orig    2002-10-22 15:14:54.000000000 +0200
>>> +++ uaccess.h    2002-10-23 13:46:48.000000000 +0200
>>> @@ -35,10 +35,10 @@
>>> #define get_user __get_user
>>>
>>> #if BITS_PER_LONG == 32
>>> -#define LDD_KERNEL(ptr)        BUG()
>>> -#define LDD_USER(ptr)        BUG()
>>> -#define STD_KERNEL(x, ptr)    BUG()
>>> -#define STD_USER(x, ptr)    BUG()
>>> +#define LDD_KERNEL(ptr)        BUG(); __gu_err=ENOTSUP;
>>> +#define LDD_USER(ptr)        BUG(); __gu_err=ENOTSUP;
>>> +#define STD_KERNEL(x, ptr)    BUG(); __pu_err=ENOTSUP;
>>> +#define STD_USER(x, ptr)    BUG(); __pu_err=ENOTSUP;
>>> #else
>>> #define LDD_KERNEL(ptr) __get_kernel_asm("ldd",ptr)
>>> #define LDD_USER(ptr) __get_user_asm("ldd",ptr)
>>> @@ -75,7 +75,7 @@
>>>         case 2: __get_kernel_asm("ldh",ptr); break; \
>>>         case 4: __get_kernel_asm("ldw",ptr); break; \
>>>         case 8: LDD_KERNEL(ptr); break;        \
>>> -        default: BUG(); break;                      \
>>> +        default: BUG(); __gu_err=ENOTSUP; break;    \
>>>         }                                           \
>>>     }                                               \
>>>     else {                                          \
>>> @@ -84,7 +84,7 @@
>>>         case 2: __get_user_asm("ldh",ptr); break;   \
>>>         case 4: __get_user_asm("ldw",ptr); break;   \
>>>         case 8: LDD_USER(ptr);  break;        \
>>> -        default: BUG(); break;                      \
>>> +        default: BUG(); __gu_err=ENOTSUP; break;    \
>>>         }                                           \
>>>     }                                               \
>>>                             \
>>> @@ -144,7 +144,7 @@
>>>         case 2: __put_kernel_asm("sth",x,ptr); break;       \
>>>         case 4: __put_kernel_asm("stw",x,ptr); break;       \
>>>         case 8: STD_KERNEL(x,ptr); break;            \
>>> -        default: BUG(); break;                              \
>>> +        default: BUG(); __pu_err=ENOTSUP; break;        \
>>>         }                                                   \
>>>     }                                                       \
>>>     else {                                                  \
>>> @@ -153,7 +153,7 @@
>>>         case 2: __put_user_asm("sth",x,ptr); break;         \
>>>         case 4: __put_user_asm("stw",x,ptr); break;         \
>>>         case 8: STD_USER(x,ptr); break;            \
>>> -        default: BUG(); break;                              \
>>> +        default: BUG(); __pu_err=ENOTSUP; break;        \
>>>         }                                                   \
>>>     }                                                       \
>>>                                 \
>>>
>>> If all agreed, (awaiting better :?) can somebody ci it?
>>>
>>>
>>> Thanks in advance for attention,
>>>   Joel
>>>
>>> PS: B. in xfs:
>>>
>>>     error = ioctl(fd, BLKGETSIZE64, &size);
>>> -    if (error >= 0) {
>>> +    if (!error) {
>>>         /* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>>
>>> AFAIK ioctl should return error=0 if success and error <>0 (>0?)
>>> here is the full patch I will suggest:
>>>
>>> --- cmd/xfsprogs/libxfs/init.c.orig    2002-10-25 12:12:29.000000000 
>>> +0200
>>> +++ cmd/xfsprogs/libxfs/init.c    2002-10-25 14:22:34.000000000 +0200
>>> @@ -155,11 +155,14 @@
>>>             progname, path, strerror(errno));
>>>         exit(1);
>>>     }
>>> +#if !defined(__hppa__) || defined(__LP64__)
>>>     error = ioctl(fd, BLKGETSIZE64, &size);
>>> -    if (error >= 0) {
>>> +    if (!error) {
>>>         /* BLKGETSIZE64 returns size in bytes not 512-byte blocks */
>>>         size = size >> 9;
>>> -    } else {
>>> +    } else
>>> +#endif
>>> +        {
>>>         /* If BLKGETSIZE64 fails, try BLKGETSIZE */
>>>         unsigned long tmpsize;
>>>         error = ioctl(fd, BLKGETSIZE, &tmpsize);
>>>
>>> _______________________________________________
>>> parisc-linux mailing list
>>> parisc-linux@lists.parisc-linux.org
>>> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
>>
>>
>>
>> _______________________________________________
>> parisc-linux mailing list
>> parisc-linux@lists.parisc-linux.org
>> http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
>>
> 
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [parisc-linux] Re: mkfs.xfs (xfsprogs-2.3.5) failled
       [not found]                 ` <3DBB30C0.6060000@freebel.net>
@ 2002-10-27  0:32                   ` Joel Soete
  0 siblings, 0 replies; 15+ messages in thread
From: Joel Soete @ 2002-10-27  0:32 UTC (permalink / raw)
  To: Randolph Chung; +Cc: parisc-linux

__pu_err disapear in ..asm64?
It doesn't seems to be an error, so don't we need anymore??

Joel Soete wrote:
> 
> 
> Randolph Chung wrote:
> 
>> In reference to a message from Joel Soete, dated Oct 26:
>>
>>> i386 declare: "extern void __get_user_bad(void);"
>>> ...
>>> but not define elsewhere? (is it there so that the build of the 
>>> kernel failed if that case was requested to run properly?)
>>
>>
>>
>> yes.
>>
>>
>>> PS: afaik on i386 only put_user_u64 is define why not pending get_user?
>>
>>
>>
>> on first glance i haven't found any code that uses get_user with 64-bit
>> quantities.
> 
> 
> Not found too.
> 
>> if you have a specific need for this, please let me know.
> 
> 
> No spefic need, thanks. It was just because mips (32bits) already 
> foreseen it and it would be already complete :)
> 
>>
>> in the mean time, i've checked in support for put_user with 64-bit
>> values. This is in 2.4.19-pa24
> 
> 
> Great, I will test it (in fact I was not so far; just a problem of 
> writing the right way).
> 
> Anyway couldn't we also consider __get_user_bad() and __get_kernel_bad() 
> for _default:_ case (just to avoid erronious case: with the problem 
> encounter with xfs test I was near to loose all my system :(( )?
> 
>>
>> Let me know if this works for you. i've tested it only lightly.
>>
> Just have to wait a few days to test at office.
> 
> Thanks again.
> 
> See you,
>     Joel
> 
> 

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-10-26 23:26 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-23  7:30 [parisc-linux] mkfs.xfs (xfsprogs-2.3.5) failled jsoe0708
2002-10-24 17:58 ` [parisc-linux] " Stefan Pfetzing
2002-10-24 18:15   ` Randolph Chung
2002-10-24 18:17     ` Stefan Pfetzing
2002-10-24 19:00       ` Randolph Chung
2002-10-24 23:08         ` Stefan Pfetzing
2002-10-25  6:04         ` jsoe0708
2002-10-25 12:58         ` jsoe0708
2002-10-25 15:09           ` jsoe0708
2002-10-26 17:39             ` Joel Soete
2002-10-26 21:18               ` Randolph Chung
     [not found]                 ` <3DBB30C0.6060000@freebel.net>
2002-10-27  0:32                   ` Joel Soete
2002-10-26 23:40               ` Joel Soete
2002-10-25 15:26           ` Randolph Chung
2002-10-25  5:57   ` jsoe0708

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.