[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