diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index df6a220c661ca4cdd5f081c3bf710823d437003c..6995835ecc318e628fe451937af8142d851fb328 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -459,6 +459,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt) } sbi->ll_sdev_orig = sb->s_dev; +#if 0 /* We set sb->s_dev equal on all lustre clients in order to support * NFS export clustering. NFSD requires that the FSID be the same * on all clients. */ @@ -468,7 +469,7 @@ static int client_common_fill_super(struct super_block *sb, char *md, char *dt) /* XXX: this will not work with LMV */ sb->s_dev = get_uuid2int(sbi2mdc(sbi)->cl_target_uuid.uuid, strlen(sbi2mdc(sbi)->cl_target_uuid.uuid)); - +#endif obd = class_name2obd(dt); if (!obd) { CERROR("DT %s: not setup or attached\n", dt); diff --git a/lustre/llite/llite_nfs.c b/lustre/llite/llite_nfs.c index fa50439b1d5feedf1ccf8f22f353307f0e906653..49549f5b6ba4945400b0916352f062e1720fa6de 100644 --- a/lustre/llite/llite_nfs.c +++ b/lustre/llite/llite_nfs.c @@ -48,6 +48,18 @@ #include <linux/exportfs.h> #endif +__u32 get_uuid2int(const char *name, int len) +{ + __u32 key0 = 0x12a3fe2d, key1 = 0x37abe8f9; + while (len--) { + __u32 key = key1 + (key0 ^ (*name++ * 7152373)); + if (key & 0x80000000) key -= 0x7fffffff; + key1 = key0; + key0 = key; + } + return (key0 << 1); +} + static int ll_nfs_test_inode(struct inode *inode, void *opaque) { return lu_fid_eq(&ll_i2info(inode)->lli_fid,