7 /*===========================================================================*
9 *===========================================================================*/
10 int fs_utime(ino_t ino_nr
, struct timespec
*atime
, struct timespec
*mtime
)
12 register struct inode
*rip
;
14 /* Temporarily open the file. */
15 if( (rip
= get_inode(fs_dev
, ino_nr
)) == NULL
)
18 rip
->i_update
= CTIME
; /* discard any stale ATIME and MTIME flags */
20 switch (atime
->tv_nsec
) {
22 rip
->i_update
|= ATIME
;
24 case UTIME_OMIT
: /* do not touch */
27 /* MFS does not support subsecond resolution, so we round down. */
28 rip
->i_atime
= atime
->tv_sec
;
32 switch (mtime
->tv_nsec
) {
34 rip
->i_update
|= MTIME
;
36 case UTIME_OMIT
: /* do not touch */
39 /* MFS does not support subsecond resolution, so we round down. */
40 rip
->i_mtime
= mtime
->tv_sec
;