函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\utimes.c Create Date:2022-07-29 10:42:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:utimes_common

函数原型:static int utimes_common(const struct path *path, struct timespec64 *times)

返回类型:int

参数:

类型参数名称
const struct path *path
struct timespec64 *times
23  inode等于 Where the name belongs to - NULL is * negative
24  struct inode * delegated_inode = NULL
26  error等于mnt_want_write - get write access to a mount*@m: the mount on which to take a write* This tells the low-level filesystem that a write is about to be performed to* it, and makes sure that writes are allowed (mount is read-write, filesystem
27  如果error则转到:out
30  如果times nanoseconds 恒等于UTIME_NOW nanoseconds 恒等于UTIME_NOWtimes = NULL
34  ia_valid等于ATTR_CTIME按位或ATTR_MTIME按位或ATTR_ATIME
35  如果times
36  如果 nanoseconds 恒等于UTIME_OMITia_valid与等于ATTR_ATIME的反
38  否则如果 nanoseconds 不等于UTIME_NOW
39  ia_atime等于times[0]
40  ia_valid或等于ATTR_ATIME_SET
43  如果 nanoseconds 恒等于UTIME_OMITia_valid与等于ATTR_MTIME的反
45  否则如果 nanoseconds 不等于UTIME_NOW
46  ia_mtime等于times[1]
47  ia_valid或等于ATTR_MTIME_SET
54  ia_valid或等于ATTR_TIMES_SET
55  否则
56  ia_valid或等于ATTR_TOUCH
58  retry_deleg :
59  inode_lock(inode)
60  error等于y_change - modify attributes of a filesytem object*@dentry: object affected*@attr: new attributes*@delegated_inode: returns inode, if the inode is delegated* The caller must hold the i_mutex on the affected object
61  inode_unlock(inode)
62  如果delegated_inode
63  error等于break_deleg_wait( & delegated_inode)
64  如果非error则转到:retry_deleg
68  mnt_drop_write - give up write access to a mount*@mnt: the mount on which to give up write access* Tells the low-level filesystem that we are done performing writes to it and* also allows filesystem to be frozen again. Must be matched with
69  out :
70  返回:error
调用者
名称描述
do_utimesdo_utimes - change times on filename or file descriptor*@dfd: open file descriptor, -1 or AT_FDCWD*@filename: path name or NULL*@times: new times or NULL*@flags: zero or more flags (only AT_SYMLINK_NOFOLLOW for the moment)* If filename is NULL and dfd