ioctl,unlocked ioctl 處理方法

2021-06-21 02:10:59 字數 590 閱讀 2554

kernel 2.6.35 及之前的版本中struct file_operations 一共有3個ioctl :

ioctl,unlocked_ioctl和compat_ioctl

現在只有unlocked_ioctl和compat_ioctl 了

在kernel 2.6.36 中已經完全刪除了struct file_operations 中的ioctl 函式指標,取而代之的是unlocked_ioctl 。

這個指標函式變了之後最大的影響是引數中

少了inode ,不過這個不是問題,因為使用者程式中的ioctl對應的系統呼叫介面沒有變化,所以使用者程式不需要改變,一切都交給核心處理了,如果想在unlocked_ioctl中獲得inode 等資訊可以用如下方法:

struct block_device *bdev = inode->i_bdev;

struct gendisk *disk = bdev->bd_disk;

fmode_t mode = file->f_mode;

和int (*ioctl) (struct inode *inode, struct file *filp, unsigned int c

Source Insight異常關閉處理方法

如果你習慣了在windows下用source insight去瀏覽源 其實在linux系統下也是可以用source insight軟體的,只要在linux下安裝wine工具 sudo apt get install wine 就可以像在windows下安裝軟體一樣 wine exe source i...

DataAnalysis 常用資料預處理方法彙總

將兩個或多個物件合併成單個物件,但是難免會丟失細節。統計學使用抽樣是因為得到感興趣的整個資料整合本太高 太費時間,但是資料探勘使用抽樣是因為處理所有的資料的費用成本太高 太費時間。抽樣方法包括 簡單隨機抽樣 分層抽樣等。資料集可能包含大量特徵,選擇維歸約是維度降低許多資料探勘演算法的效果會更好,因為...

HIVE shuffle階段的oom處理方法

工作中碰到的問題,現在記下來以後好找。1.增加reduce數 set mapreduce.job.reduces 或者 set hive.exec.reducers.bytes.per.reducer 150000000 預設是1g 2.或調整放在記憶體裡的最大片段所佔百分比 set mapredu...