64-bit VFS_TRUNCATE_OFF

Change-Id: I4bd5cc57ddda2525b0bec6f044f35196a2c21f2e
This commit is contained in:
Ben Gras 2014-02-24 17:12:30 +01:00 committed by Lionel Sambuc
parent 4694fcc1d5
commit 188a5fde1f
4 changed files with 5 additions and 10 deletions

View file

@ -301,8 +301,7 @@
#define VFS_TRUNCATE_FD m2_i1 /* int */
#define VFS_TRUNCATE_NAME m2_p1 /* const char * */
#define VFS_TRUNCATE_LEN m2_i1 /* size_t */
#define VFS_TRUNCATE_OFF_LO m2_l1 /* off_t (low 32 bits) */
#define VFS_TRUNCATE_OFF_HI m2_l2 /* off_t (high 32 bits) */
#define VFS_TRUNCATE_OFF m2_ll1 /* off_t */
/* Field names for the pipe2(2) call. */
#define VFS_PIPE2_FD0 m1_i1 /* int */

View file

@ -15,8 +15,7 @@ int ftruncate(int _fd, off_t _length)
message m;
memset(&m, 0, sizeof(m));
m.VFS_TRUNCATE_OFF_LO = ex64lo(_length);
m.VFS_TRUNCATE_OFF_HI = ex64hi(_length);
m.VFS_TRUNCATE_OFF = _length;
m.VFS_TRUNCATE_FD = _fd;
return(_syscall(VFS_PROC_NR, VFS_FTRUNCATE, &m));

View file

@ -13,8 +13,7 @@ int truncate(const char *_path, off_t _length)
memset(&m, 0, sizeof(m));
m.VFS_TRUNCATE_NAME = (char *) __UNCONST(_path);
m.VFS_TRUNCATE_LEN = strlen(_path)+1;
m.VFS_TRUNCATE_OFF_LO = ex64lo(_length);
m.VFS_TRUNCATE_OFF_HI = ex64hi(_length);
m.VFS_TRUNCATE_OFF = _length;
return(_syscall(VFS_PROC_NR, VFS_TRUNCATE, &m));
}

View file

@ -297,8 +297,7 @@ int do_truncate(void)
resolve.l_vmnt_lock = VMNT_READ;
resolve.l_vnode_lock = VNODE_WRITE;
length = (off_t) make64(job_m_in.VFS_TRUNCATE_OFF_LO,
job_m_in.VFS_TRUNCATE_OFF_HI);
length = (off_t) job_m_in.VFS_TRUNCATE_OFF;
if (length < 0) return(EINVAL);
/* Temporarily open file */
@ -336,8 +335,7 @@ int do_ftruncate(void)
scratch(fp).file.fd_nr = job_m_in.VFS_TRUNCATE_FD;
length = (off_t) make64(job_m_in.VFS_TRUNCATE_OFF_LO,
job_m_in.VFS_TRUNCATE_OFF_HI);
length = (off_t) job_m_in.VFS_TRUNCATE_OFF;
if (length < 0) return(EINVAL);
/* File is already opened; get a vnode pointer from filp */