u64 ino, unsigned int d_type)
{
int err = 0;
+ __le16 le16;
__le32 le32;
__le64 le64;
unsigned char byte;
goto out;
/* name length */
- byte = (unsigned char)namelen;
- err = filp->f_op->write(filp, (char*)&byte,
- sizeof(unsigned char), &filp->f_pos);
- if (err != sizeof(unsigned char))
+ le16 = cpu_to_le16(namelen);
+ err = filp->f_op->write(filp, (char*)&le16,
+ sizeof(__le16), &filp->f_pos);
+ if (err != sizeof(__le16))
goto out;
/* type */
{
int err = 0;
mm_segment_t oldfs;
+ __le16 le16;
__le32 le32;
__le64 le64;
unsigned char byte;
*ino = le64_to_cpu(le64);
/* name length */
- err = filp->f_op->read(filp, (char*)&byte,
- sizeof(unsigned char), &filp->f_pos);
- if (err != sizeof(unsigned char)) {
+ err = filp->f_op->read(filp, (char*)&le16,
+ sizeof(__le16), &filp->f_pos);
+ if (err != sizeof(__le16)) {
err = -EIO;
goto out;
}
- *namelen = byte;
+ *namelen = le16_to_cpu(le16);
if (*namelen <= 0) {
err = -EFAULT;
goto out;