在mount.c  中的 int fuse_mount_sys 函数中,如果注销掉 fd的open语句,此时fd一般为0.

 

然后,用普通用户运行ssfs且不加-f参数,一切显示正常 fuse_mount_sys返回的值是-2, 因此转入fuse_mount_fusermount函数,fuse_mount_fusermount函数整个过程运行也显示正常。但是所有地方都看不到挂载点。如果加-f参数,则可以,一切运行正常。

 

经过debug,根本原因是close(fd)关闭了stdin,如果在这之前返回-2,都不会出问题。

但是,为什么关闭stdin会引起这个问题呢,而且只影响不加-f参数?

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-22
  • 2021-09-30
  • 2021-06-03
  • 2021-06-16
猜你喜欢
  • 2021-10-03
  • 2021-09-11
  • 2022-12-23
  • 2021-04-01
  • 2021-08-06
  • 2022-01-27
  • 2021-08-25
相关资源
相似解决方案