[PATCH 0/5] PMFS: Rebase to Linux 3.9

Matthew Wilcox willy at linux.intel.com
Mon Apr 29 16:20:18 EDT 2013


On Mon, Apr 29, 2013 at 01:05:56PM -0600, Ross Zwisler wrote:
> I think these build errors were caused because kuid_t and kgid_t are now structs:

Yes

> typedef struct {
> 	uid_t val;
> } kuid_t;
> 
> 
> typedef struct {
> 	gid_t val;
> } kgid_t;
> 
> So, to compare to a u32, you have to grab the value "val".  

No :-)

>  	inode->i_mode = le16_to_cpu(pi->i_mode);
> -	inode->i_uid = le32_to_cpu(pi->i_uid);
> -	inode->i_gid = le32_to_cpu(pi->i_gid);
> +	inode->i_uid.val = le32_to_cpu(pi->i_uid);
> +	inode->i_gid.val = le32_to_cpu(pi->i_gid);
>  	set_nlink(inode, le16_to_cpu(pi->i_links_count));

The right thing to use are the fine helper macros:

-	inode->i_uid = le32_to_cpu(pi->i_uid);
-	inode->i_gid = le32_to_cpu(pi->i_gid);
+	i_uid_write(inode, le32_to_cpu(pi->i_uid));
+	i_gid_write(inode, le32_to_cpu(pi->i_gid));


>  		inode->i_mode != le16_to_cpu(pi->i_mode) ||
> -		inode->i_uid != le32_to_cpu(pi->i_uid) ||
> -		inode->i_gid != le32_to_cpu(pi->i_gid) ||
> +		inode->i_uid.val != le32_to_cpu(pi->i_uid) ||
> +		inode->i_gid.val != le32_to_cpu(pi->i_gid) ||
>  		inode->i_nlink != le16_to_cpu(pi->i_links_count) ||

Here you want to use i_uid_read() & i_guid_read()




More information about the Linux-pmfs mailing list