Daniel Phillips <[email protected]> writes:

>> > Your patch breaks the user space compile because your macro definitions
>> > appear outside the __KERNEL__ macro.  Could you try this version?
>> 
>> Yes, It is OK, and better than my version.
>
> OK, committed with credit to you.

COW credential was added after 2.6.28. And we shouldn't add needless #ifdef.
[BTW, if we really want to do this, we should add compat layer like
compat.h of external network drivers.]

Thanks.
-- 
OGAWA Hirofumi <[email protected]>


Cleanup/Fix COW credential

COW credential was added after 2.6.28. And if we really want to do
this, we should add compat layer like compat.h of external network
drivers.

diff -puN user/kernel/tux3.h~cow-cred-cleanup user/kernel/tux3.h
--- tux3/user/kernel/tux3.h~cow-cred-cleanup    2009-01-08 00:00:55.000000000 
+0900
+++ tux3-hirofumi/user/kernel/tux3.h    2009-01-08 00:07:36.000000000 +0900
@@ -10,8 +10,9 @@
 #include <linux/buffer_head.h>
 #include <linux/mutex.h>
 
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
-#include <linux/cred.h> // fsuid
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
+#define current_fsuid()        ({ current->fsuid; })
+#define current_fsgid()        ({ current->fsgid; })
 #endif
 
 typedef loff_t block_t;
diff -puN user/kernel/inode.c~cow-cred-cleanup user/kernel/inode.c
--- tux3/user/kernel/inode.c~cow-cred-cleanup   2009-01-08 00:02:54.000000000 
+0900
+++ tux3-hirofumi/user/kernel/inode.c   2009-01-08 00:03:00.000000000 +0900
@@ -455,13 +455,8 @@ static void tux_setup_inode(struct inode
 struct inode *tux_create_inode(struct inode *dir, int mode, dev_t rdev)
 {
        struct tux_iattr iattr = {
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
                .uid    = current_fsuid(),
                .gid    = current_fsgid(),
-#else
-               .uid    = current->fsuid,
-               .gid    = current->fsgid,
-#endif
                .mode   = mode,
        };
        struct inode *inode = tux_new_inode(dir, &iattr, rdev);
_

_______________________________________________
Tux3 mailing list
[email protected]
http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3

Reply via email to