set_user_nice() not defined on 2.4.21+
Hi,
When compiled JFFS2 with kernel 2.4.21-pre3, the linker complains that the reference to set_user_nice() in function jffs2_garbage_collect_thread() hasn't been defined. I traced the code down to <linux/mtd/compatmac.h> and found that set_user_nice() is not defined if linux verion is equal or greater than 2.4.21. See the code below. Why? Does it mean that 2.4.21+ has already such a function defined somewhere else or that 2.4.21+ doesn't need it? Actually I searched 2.4.21-pre3 code and found no set_user_nice() defined except in <linux/mtd/compatmac.h>. I guess it's possibly a bug.
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) /* Is this right? */
#define set_user_nice(tsk, n) do { (tsk)->priority = 20-(n); } while(0) #elif LINUX_VERSION_CODE < KERNEL_VERSION(2,4,21) && !defined(RED_HAT_LINUX_KERNEL) #define set_user_nice(tsk, n) do { (tsk)->nice = n; } while(0)
#endif
Signature · 2 lines
Shawn Jin RedSwitch Inc.
Hi
I had the impression that set_user_nice() would be in 2.4.21 when I added set_user_nice() to mtd/compatmac.h. I can change it to KERNEL_VERSION(2,5,0) or someone can submit a patch to Marcelo.
Jocke
Quoted 27 lines
Hi,
When compiled JFFS2 with kernel 2.4.21-pre3, the linker complains that the reference to
set_user_nice()in functionjffs2_garbage_collect_thread()hasn't been defined. I traced the code down to <linux/mtd/compatmac.h> and found thatset_user_nice()is not defined if linux verion is equal or greater than 2.4.21. See the code below. Why? Does it mean that 2.4.21+ has already such a function defined somewhere else or that 2.4.21+ doesn't need it? Actually I searched 2.4.21-pre3 code and found noset_user_nice()defined except in <linux/mtd/compatmac.h>. I guess it's possibly a bug.#if
LINUX_VERSION_CODE<KERNEL_VERSION(2,4,0)/* Is this right? */
#defineset_user_nice(tsk, n)do { (tsk)->priority = 20-(n); } while(0) #elifLINUX_VERSION_CODE<KERNEL_VERSION(2,4,21)&& !defined(RED_HAT_LINUX_KERNEL)
#defineset_user_nice(tsk, n)do { (tsk)->nice = n; } while(0) #endifSignature · 7 lines
Shawn Jin RedSwitch Inc. ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Hi Jocke,
Are you maintaining at least mtd/compatmac.h? I also found a compatibility problem of rq_data_dir(). I did find that this function is already defined in linux/blkdev.h of 2.4.21-pre3. So probably mtd/compatmac.h needn't define it again.
Quoted 4 lines · Joakim Tjernlund
Hi
I had the impression that
set_user_nice()would be in 2.4.21 when I addedset_user_nice()tomtd/compatmac.h. I can change it toKERNEL_VERSION(2,5,0)or someone can submit a patch to Marcelo.
- Shawn.
Quoted 4 lines
Hi Jocke,
Are you maintaining at least
mtd/compatmac.h?
No, I just added set_user_nice() after discussion with David Woodhouse since I ran into the same problem as you.
Quoted 4 lines
I also found a
compatibility problem ofrq_data_dir(). I did find that this function is already defined inlinux/blkdev.hof 2.4.21-pre3. So probablymtd/compatmac.hneedn't define it again.
Best to run this via David Woodhouse. He knows this much better than I do.
Quoted 9 lines
Quoted 5 lines · Joakim Tjernlund
Hi
I had the impression that
set_user_nice()would be in 2.4.21 when I addedset_user_nice()tomtd/compatmac.h. I can change it toKERNEL_VERSION(2,5,0)or someone can submit a patch to Marcelo.- Shawn.