Message types for VFS utime
Change-Id: If7e5faa13a824528fd8ca02bd6982e04d48032e9
This commit is contained in:
@@ -26,14 +26,14 @@ int fs_utime(void)
|
||||
if (global_pu->pu_ops.puffs_node_setattr == NULL)
|
||||
return(EINVAL);
|
||||
|
||||
if( (pn = puffs_pn_nodewalk(global_pu, 0, &fs_m_in.REQ_INODE_NR)) == NULL)
|
||||
if( (pn = puffs_pn_nodewalk(global_pu, 0, &fs_m_in.m_vfs_fs_utime.inode)) == NULL)
|
||||
return(EINVAL);
|
||||
|
||||
puffs_vattr_null(&va);
|
||||
va.va_atime.tv_sec = fs_m_in.REQ_ACTIME;
|
||||
va.va_atime.tv_nsec = fs_m_in.REQ_ACNSEC;
|
||||
va.va_mtime.tv_sec = fs_m_in.REQ_MODTIME;
|
||||
va.va_mtime.tv_nsec = fs_m_in.REQ_MODNSEC;
|
||||
va.va_atime.tv_sec = fs_m_in.m_vfs_fs_utime.actime;
|
||||
va.va_atime.tv_nsec = fs_m_in.m_vfs_fs_utime.acnsec;
|
||||
va.va_mtime.tv_sec = fs_m_in.m_vfs_fs_utime.modtime;
|
||||
va.va_mtime.tv_nsec = fs_m_in.m_vfs_fs_utime.modnsec;
|
||||
va.va_ctime = clock_timespec();
|
||||
|
||||
if (global_pu->pu_ops.puffs_node_setattr(global_pu, pn, &va, pcr) != 0)
|
||||
|
||||
@@ -147,7 +147,7 @@ int do_utime(void)
|
||||
if (state.s_read_only)
|
||||
return EROFS;
|
||||
|
||||
if ((ino = find_inode(m_in.REQ_INODE_NR)) == NULL)
|
||||
if ((ino = find_inode(m_in.m_vfs_fs_utime.inode)) == NULL)
|
||||
return EINVAL;
|
||||
|
||||
if ((r = verify_inode(ino, path, NULL)) != OK)
|
||||
@@ -155,35 +155,35 @@ int do_utime(void)
|
||||
|
||||
attr.a_mask = 0;
|
||||
|
||||
switch(m_in.REQ_ACNSEC) {
|
||||
switch(m_in.m_vfs_fs_utime.acnsec) {
|
||||
case UTIME_OMIT: /* do not touch */
|
||||
break;
|
||||
case UTIME_NOW:
|
||||
/* XXX VFS should have time() into ACTIME, for compat; we trust it! */
|
||||
m_in.REQ_ACNSEC = 0;
|
||||
m_in.m_vfs_fs_utime.acnsec = 0;
|
||||
/*FALLTHROUGH*/
|
||||
default:
|
||||
/* cases m_in.REQ_ACNSEC < 0 || m_in.REQ_ACNSEC >= 1E9
|
||||
/* cases m_in.m_vfs_fs_utime.acnsec < 0 || m_in.m_vfs_fs_utime.acnsec >= 1E9
|
||||
* are caught by VFS to cooperate with old instances of EXT2
|
||||
*/
|
||||
attr.a_atime.tv_sec = m_in.REQ_ACTIME;
|
||||
attr.a_atime.tv_nsec = m_in.REQ_ACNSEC;
|
||||
attr.a_atime.tv_sec = m_in.m_vfs_fs_utime.actime;
|
||||
attr.a_atime.tv_nsec = m_in.m_vfs_fs_utime.acnsec;
|
||||
attr.a_mask |= SFFS_ATTR_ATIME;
|
||||
break;
|
||||
}
|
||||
switch(m_in.REQ_MODNSEC) {
|
||||
switch(m_in.m_vfs_fs_utime.modnsec) {
|
||||
case UTIME_OMIT: /* do not touch */
|
||||
break;
|
||||
case UTIME_NOW:
|
||||
/* XXX VFS should have time() into MODTIME, for compat; we trust it! */
|
||||
m_in.REQ_MODNSEC = 0;
|
||||
m_in.m_vfs_fs_utime.modnsec = 0;
|
||||
/*FALLTHROUGH*/
|
||||
default:
|
||||
/* cases m_in.REQ_MODNSEC < 0 || m_in.REQ_MODNSEC >= 1E9
|
||||
/* cases m_in.m_vfs_fs_utime.modnsec < 0 || m_in.m_vfs_fs_utime.modnsec >= 1E9
|
||||
* are caught by VFS to cooperate with old instances
|
||||
*/
|
||||
attr.a_mtime.tv_sec = m_in.REQ_MODTIME;
|
||||
attr.a_mtime.tv_nsec = m_in.REQ_MODNSEC;
|
||||
attr.a_mtime.tv_sec = m_in.m_vfs_fs_utime.modtime;
|
||||
attr.a_mtime.tv_nsec = m_in.m_vfs_fs_utime.modnsec;
|
||||
attr.a_mask |= SFFS_ATTR_MTIME;
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user