patch-2.3.49 linux/fs/nfsd/nfs3xdr.c
Next file: linux/fs/nfsd/vfs.c
Previous file: linux/fs/nfsd/export.c
Back to the patch index
Back to the overall index
- Lines: 13
- Date:
Mon Feb 28 17:59:21 2000
- Orig file:
v2.3.48/linux/fs/nfsd/nfs3xdr.c
- Orig date:
Sun Feb 20 21:12:39 2000
diff -u --recursive --new-file v2.3.48/linux/fs/nfsd/nfs3xdr.c linux/fs/nfsd/nfs3xdr.c
@@ -181,7 +181,11 @@
} else {
p = xdr_encode_hyper(p, (u64) inode->i_size);
}
- p = xdr_encode_hyper(p, ((u64)inode->i_blocks) << 9);
+ if (inode->i_blksize == 0 && inode->i_blocks == 0)
+ /* Minix file system(?) i_size is (hopefully) close enough */
+ p = xdr_encode_hyper(p, (u64)(inode->i_size +511)& ~511);
+ else
+ p = xdr_encode_hyper(p, ((u64)inode->i_blocks) << 9);
*p++ = htonl((u32) MAJOR(inode->i_rdev));
*p++ = htonl((u32) MINOR(inode->i_rdev));
p = xdr_encode_hyper(p, (u64) inode->i_dev);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)