> -----Original Message----- > From: Yong, Fan [mailto:fan.yong@xxxxxxxxx] > Sent: Thursday, May 23, 2013 9:30 PM > To: Myklebust, Trond; Jim Rees > Cc: Peng Tao; Dilger, Andreas; J. Bruce Fields; linux-nfs@xxxxxxxxxxxxxxx; > Steve Dickson > Subject: RE: [PATCH] nfs: support 64-bit root inode number in NFS FSID > > For the rare unfortunate cases of "sizeof(unsigned long) < 4" or > "sizeof(unsigned long long) < 8", current nfs-utils will cross-boundary > memory copy. So need more work to make it stably runnable on kinds of > platform... unsigned long long is guaranteed by C99 to be >= 64 bits. IOW: it could be 128 bits depending on the compiler. > -- > Cheers, > Nasf > > -----Original Message----- > From: Myklebust, Trond [mailto:Trond.Myklebust@xxxxxxxxxx] > Sent: Thursday, May 23, 2013 10:22 PM > To: Jim Rees > Cc: Yong, Fan; Peng Tao; Dilger, Andreas; J. Bruce Fields; linux- > nfs@xxxxxxxxxxxxxxx; Steve Dickson > Subject: RE: [PATCH] nfs: support 64-bit root inode number in NFS FSID > > > -----Original Message----- > > From: Jim Rees [mailto:rees@xxxxxxxxx] > > Sent: Thursday, May 23, 2013 10:20 AM > > To: Myklebust, Trond > > Cc: Yong, Fan; Peng Tao; Dilger, Andreas; J. Bruce Fields; linux- > > nfs@xxxxxxxxxxxxxxx; Steve Dickson > > Subject: Re: [PATCH] nfs: support 64-bit root inode number in NFS FSID > > > > Myklebust, Trond wrote: > > > > On Thu, 2013-05-23 at 12:59 +0000, Yong, Fan wrote: > > > Just make it match the "inode64" in nfs-utils parse_fsid(), which > > is defined as "unsigned long long", and the parsed_fsid:: inode is copied > from "inode64" > > as following: > > > > > > static int parse_fsid(int fsidtype, int fsidlen, char *fsid, > > > struct parsed_fsid *parsed) > > > { > > > unsigned int dev; > > > unsigned long long inode64; > > > ... > > > case FSID_UUID16_INUM: /* 8 byte inode number and 16 byte uuid > > */ > > > if (fsidlen != 24) > > > return -1; > > > memcpy(&inode64, fsid, 8); > > > parsed->inode = inode64; > > > parsed->uuidlen = 16; > > > parsed->fhuuid = fsid+8; > > > break; > > > } > > > > > > -- > > > Cheers, > > > Nasf > > > > Eeeeeeeewww! This is _exactly_ why we should be using properly > > dimensioned types. Feel free to tell me how the value of 'inode64' is > > well defined on systems where sizeof(unsigned long long) != 8... > > > > Is there any reason not to use ino_t? > > Yes. It's not guaranteed to be 64-bit either. > > Trond -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html