fusefrontend: print warning when Create() runs out of file descriptors

We alread have this warning in Open(), but xfstests generic/488
causes "too many open files" via Create. Add the same message so
the user sees what is going on.
This commit is contained in:
Jakob Unterwurzacher 2019-01-04 23:15:04 +01:00
parent eff35e60b6
commit 3473a84963

View File

@ -255,6 +255,12 @@ func (fs *FS) Create(path string, flags uint32, mode uint32, context *fuse.Conte
// Create content, normal (short) file name
fd, err = syscallcompat.Openat(dirfd, cName, newFlags|syscall.O_CREAT|syscall.O_EXCL, mode)
if err != nil {
// xfstests generic/488 triggers this
if err == syscall.EMFILE {
var lim syscall.Rlimit
syscall.Getrlimit(syscall.RLIMIT_NOFILE, &lim)
tlog.Warn.Printf("Create %q: too many open files. Current \"ulimit -n\": %d", cName, lim.Cur)
}
return nil, fuse.ToStatus(err)
}
}