【发布时间】:2013-11-28 14:28:11
【问题描述】:
我目前正在学习 linux 设备驱动程序。我从一个示例驱动程序开始,它只是一个内存缓冲区。
我的代码在我的github 上可用。
我通过这样做来测试我的驱动程序:
# echo "Hello World" > /dev/mad
# cat /dev/mad
Hello World
一切顺利,但是当我使用重定向运算符附加某些内容 (>>) 时,行为不是我所期望的。
# echo foo > /dev/mad
# echo bar >> /dev/mad
# cat /dev/mad
bar
我希望有:
foo
bar
我已经实现了llseek 回调并处理了read 和write 回调中的offp,但它仍然不起作用。
【问题讨论】:
-
您是否编写了驱动程序以正确支持所有打开模式和多次写入?
-
你是对的。我忘记了
open回调中标志O_APPEND的支持。现在,一切正常!谢谢
标签: c linux linux-device-driver