[1/4] ceph: fix endianness of getattr mask in ceph_d_revalidate
diff mbox

Message ID 1484237565-27423-2-git-send-email-jlayton@redhat.com
State New
Headers show

Commit Message

Jeff Layton Jan. 12, 2017, 4:12 p.m. UTC
fs/ceph/dir.c:1248:50: warning: incorrect type in assignment (different base types)
    fs/ceph/dir.c:1248:50:    expected restricted __le32 [usertype] mask
    fs/ceph/dir.c:1248:50:    got int [signed] [assigned] mask

Signed-off-by: Jeff Layton <jlayton@redhat.com>
---
 fs/ceph/dir.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Ilya Dryomov Jan. 12, 2017, 4:43 p.m. UTC | #1
On Thu, Jan 12, 2017 at 5:12 PM, Jeff Layton <jlayton@redhat.com> wrote:
>     fs/ceph/dir.c:1248:50: warning: incorrect type in assignment (different base types)
>     fs/ceph/dir.c:1248:50:    expected restricted __le32 [usertype] mask
>     fs/ceph/dir.c:1248:50:    got int [signed] [assigned] mask

This one is missing "sparse says" ;)

Thanks,

                Ilya
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jeff Layton Jan. 12, 2017, 5:16 p.m. UTC | #2
On Thu, 2017-01-12 at 17:43 +0100, Ilya Dryomov wrote:
> On Thu, Jan 12, 2017 at 5:12 PM, Jeff Layton <jlayton@redhat.com> wrote:
> >     fs/ceph/dir.c:1248:50: warning: incorrect type in assignment (different base types)
> >     fs/ceph/dir.c:1248:50:    expected restricted __le32 [usertype] mask
> >     fs/ceph/dir.c:1248:50:    got int [signed] [assigned] mask
> 
> This one is missing "sparse says" ;)
> 
> Thanks,

Oops! Fixed in my tree, which is here, btw:

    git://git.samba.org/jlayton/linux.git

...in my ceph-4.10 branch.

Patch
diff mbox

diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
index cd99b26de4da..d4385563b70a 100644
--- a/fs/ceph/dir.c
+++ b/fs/ceph/dir.c
@@ -1230,7 +1230,8 @@  static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags)
 		struct ceph_mds_client *mdsc =
 			ceph_sb_to_client(dir->i_sb)->mdsc;
 		struct ceph_mds_request *req;
-		int op, mask, err;
+		int op, err;
+		u32 mask;
 
 		if (flags & LOOKUP_RCU)
 			return -ECHILD;
@@ -1245,7 +1246,7 @@  static int ceph_d_revalidate(struct dentry *dentry, unsigned int flags)
 			mask = CEPH_STAT_CAP_INODE | CEPH_CAP_AUTH_SHARED;
 			if (ceph_security_xattr_wanted(dir))
 				mask |= CEPH_CAP_XATTR_SHARED;
-			req->r_args.getattr.mask = mask;
+			req->r_args.getattr.mask = cpu_to_le32(mask);
 
 			err = ceph_mdsc_do_request(mdsc, NULL, req);
 			switch (err) {