Linus新年首骂:和谷歌大佬大吵4天,“你的代码就是垃圾”...
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
AI/CV重磅干货,第一时间送达
扫描下方二维码,加入CVer学术星球,可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文搞科研,强烈推荐!
金磊 发自 凹非寺
转载自:量子位(QbitAI)
风风火火的Linux之父,Linus Torvalds,他又跃入公众的视线。
“打开方式”依旧是熟悉的配方——骂人。
我们先来看下Linus怒怼的名场面:
你的代码就是垃圾。
我要把你丢进垃圾邮件一周。
而这一次的“受害者”,是来自谷歌的一位程序员,Steven Rostedt。
而且他并非是随随便便的一位开发者,用网友的话来说“也算是大佬了”。
△图源:“OSC开源社区”评论区
不仅如此,从时间线上来看,双方已经交锋了足足有4天之久……
那么这到底是怎么一回事?
一个“inodes”,吵了四天
这场激辩是发生在Linux内核邮件列表。
Steven起初是发了个帖子,主题是关于eventfs(事件文件系统)的补丁。
具体而言,就是想探讨一下inodes(索引节点)是否应该保持唯一性的问题。
(注:inodes是Linux文件系统中的一个核心概念。它是一个数据结构,用于存储文件或目录的元数据,而不是文件的实际内容。)
Steven认为:
Linus之前建议在eventfs中使用相同的inode来简化getdents()的实现,这意味着所有文件和目录都将使用相同的inode。
然而,这种做法后来被发现会导致“find”命令出现问题,因为目录和文件的inode相同。
Linus随后发现在64位机器上,eventfs_inode结构中存在一个由于对齐而产生的空洞,可以用来存储目录的inode,这解决了目录的问题,但文件仍然保留了自己的inode。
在Steven看来,由于tar命令依赖于inode来确定文件的唯一性,这种做法会破坏tar命令的功能:
目前,tar命令在tracefs(事件文件系统的一个变体)中已经出现问题,因为它显示所有文件的大小为零,导致tar不复制任何内容。
除此之外,Steven也给出了自己想到的解决办法——建议将VFS层的get_next_ino()函数复制到tracefs的tracefs_get_next_ino()函数中,并添加一个“files”参数。
这样,当创建eventfs目录时,就可以预先知道所需的inode数量。tracefs_get_next_ino()将返回一个新的inode,并预留下一个“files”个inode供调用者使用。
当创建文件的inode时,其inode将是其父目录的inode加上在该目录文件数组中的索引,从而为每个文件提供一个唯一的inode。
然而,如此提案却被Linus强烈反对。
Linus的核心观点是“inode已经不再是唯一的描述符,我们不应该继续依赖于这种旧有的机制”。
不过对于Linus的回复,Steven并没有买账,他坚持认为:
所有的文件和目录应该有唯一的inode,这样做可以对文件系统的某些方面起到简化的作用。
然而在几轮探讨过后,Linus就坐不住了,随即就出现了刚才怒怼的名场面:
不要把事情变得那么复杂。
你没有充分理解这些函数的用途和必要性
你的代码就是垃圾。
双方似乎都是各执己见,来来回回博弈了良久,从1月26日一直battle到了1月29日……
不过戏剧性的一点是,Linus在争吵之余,后来还发布了Linux内核6.8-rc2版本。
他希望这个版本能够解决之前版本中发现的问题,并鼓励用户进行测试。
并非第一次公开“交锋”
其实在此之前,Steven也曾在2020年初之际,在一场活动演讲中,公开与Linus“交锋”过。
他甚至直接将演讲的主题定位“Arguing with Linus Torvalds”,内容依旧是围绕着如何让Linux效率得到改善而做出的建议。
不过对于这次最新的battle,网友们也是各抒己见。
有认为应该抛弃历史包袱的,有认为只是二人设计理念的差距:
△图源:“OSC开源社区”评论区
你觉得呢?
参考链接:
[1]https://lkml.iu.edu/hypermail/linux/kernel/2401.3/04208.html
[2]https://www.youtube.com/watch?v=0pHImHVrI2I
[3]https://mp.weixin.qq.com/s/S0R_5OBSiSbDnl1-U6I4wg
计算机视觉技术交流群成立
扫描下方二维码,或者添加微信:CVer444,即可添加CVer小助手微信,便可申请加入CVer-计算机视觉微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!
▲扫码加入星球学习
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!
▲扫码加入星球学习
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者