1) get rid of sign bit of ino to compatiable with glibc
2) correct bit size for filldir
name = ent->lde_name;
fid_le_to_cpu(&fid, &fid);
ino = ll_fid_build_ino(sbi, &fid);
-
+
done = filldir(cookie, name, namelen,
- hash, ino, DT_UNKNOWN);
+ (loff_t)hash, ino, DT_UNKNOWN);
}
next = le32_to_cpu(dp->ldp_hash_end);
ll_put_page(page);
/* very stupid and having many downsides inode allocation algorithm
* based on fid. */
ino = (fid_seq(fid) - 1) * LUSTRE_SEQ_MAX_WIDTH + fid_oid(fid);
- RETURN(ino);
+ RETURN(ino & 0x7fffffff);
}