Skip to content

Commit 8a8f585

Browse files
committed
5functions
1 parent 9877995 commit 8a8f585

File tree

1 file changed

+29
-4
lines changed

1 file changed

+29
-4
lines changed

fs/hmfs/file.c

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1346,7 +1346,12 @@ static long hmfs_fallocate(struct file *file, int mode, loff_t offset,
13461346

13471347
#define HMFS_REG_FLMASK (~(FS_DIRSYNC_FL | FS_TOPDIR_FL))
13481348
#define HMFS_OTHER_FLMASK (FS_NODUMP_FL | FS_NOATIME_FL)
1349-
1349+
/*
1350+
* 对于@flags进行掩码处理
1351+
* @mode对应目录文件时直接返回falgs
1352+
* @mode对应普通文件时返回flags & HMFS_REG_FLMASK
1353+
* 其他情况时返回flags & HMFS_OTHER_FLMASK
1354+
*/
13501355
static inline __u32 hmfs_mask_flags(umode_t mode, __u32 flags)
13511356
{
13521357
if (S_ISDIR(mode))
@@ -1356,7 +1361,15 @@ static inline __u32 hmfs_mask_flags(umode_t mode, __u32 flags)
13561361
else
13571362
return flags & HMFS_OTHER_FLMASK;
13581363
}
1359-
1364+
/*
1365+
* 向设备发送或接收控制信息
1366+
* @filp指向设备文件标识符
1367+
* @arg指向用户空间目标地址
1368+
* @cmd为HMFS_IOC_GETFLAGS时,将i_flags中用户可见位发送到用户空间目标地址
1369+
* @cmd为HMFS_IOC_SETFLAGS时,将用户空间目标地址的值复制到flags中
1370+
* @cmd为HMFS_IOC_GETVERSION时,将i_generation发送到用户空间目标地址
1371+
* 若不符合以上任何一种情况则返回-ENOTTY
1372+
*/
13601373
long hmfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
13611374
{
13621375
struct inode *inode = file_inode(filp);
@@ -1415,6 +1428,13 @@ long hmfs_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
14151428
}
14161429

14171430
#ifdef CONFIG_COMPAT
1431+
/*
1432+
* hmfs_ioctl函数的兼容性包装函数
1433+
* 向设备发送或接收控制信息
1434+
* @filp指向设备文件标识符
1435+
* @arg指向用户空间目标地址
1436+
* 调整@cmd的值再调用hmfs_ioctl发送或接收控制信息
1437+
*/
14181438
long hmfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
14191439
{
14201440
switch (cmd) {
@@ -1462,7 +1482,10 @@ const struct inode_operations hmfs_file_inode_operations = {
14621482
.removexattr = generic_removexattr,
14631483
#endif
14641484
};
1465-
1485+
/*
1486+
* 创建slab高速缓存,使mmap_block_slab指向缓存
1487+
* 成功返回0,失败返回-ENOMEM
1488+
*/
14661489
int create_mmap_struct_cache(void)
14671490
{
14681491
mmap_block_slab = hmfs_kmem_cache_create("hmfs_mmap_block",
@@ -1471,7 +1494,9 @@ int create_mmap_struct_cache(void)
14711494
return -ENOMEM;
14721495
return 0;
14731496
}
1474-
1497+
/*
1498+
* 销毁mmap_block_slab指向的slab高速缓存
1499+
*/
14751500
void destroy_mmap_struct_cache(void)
14761501
{
14771502
kmem_cache_destroy(mmap_block_slab);

0 commit comments

Comments
 (0)