Commit 049b9785 authored by Ramon Nou's avatar Ramon Nou
Browse files

lock on fcntl not supported

parent 1265012e
Loading
Loading
Loading
Loading
+27 −27
Original line number Diff line number Diff line
@@ -1372,7 +1372,7 @@ fcntl(int fd, int cmd, ...) // TODO
                        (arg & FD_CLOEXEC));
                return 0;

            case F_GETLK: {
                /*case F_GETLK: {
                    DEBUG_INFO("[GKFS] F_GETLK {}", fd);
                    auto res = real_fcntl(fd, cmd, arg);
                    return res;
@@ -1398,7 +1398,7 @@ fcntl(int fd, int cmd, ...) // TODO
                    DEBUG_INFO("[GKFS] F_SETOWN {}", fd);
                    auto res = real_fcntl(fd, cmd, arg);
                    return res;
            }
                }*/

            default:
                DEBUG_INFO("[GKFS] NOTSUPPORTED {}", fd);
+29 −34
Original line number Diff line number Diff line
@@ -918,40 +918,35 @@ hook_fcntl(unsigned int fd, unsigned int cmd, unsigned long arg) {
            CTX->file_map()->get(fd)->set_flag(
                    gkfs::filemap::OpenFile_flags::cloexec, (arg & FD_CLOEXEC));
            return 0;

            /*
                    case F_GETLK:
            LOG(ERROR, "{}() F_GETLK on fd (on underlying fd) {}", __func__,
                fd);
            return gsl::narrow_cast<int>(
                    syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd, arg));
                        LOG(ERROR, "{}() F_GETLK on fd (on underlying fd) {}",
               __func__, fd); return gsl::narrow_cast<int>(
                                syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd,
               arg));


                    case F_SETLK:
            LOG(ERROR, "{}() F_SETLK on fd (on underlying fd) {}", __func__,
                fd);
            return gsl::narrow_cast<int>(
                    syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd, arg));
        case F_SETLKW:
            LOG(ERROR, "{}() F_SETLKW on fd (on underlying fd) {}", __func__,
                fd);
                        LOG(ERROR, "{}() F_SETLK on fd (on underlying fd) {}",
               __func__, fd); return gsl::narrow_cast<int>(
                                syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd,
               arg)); case F_SETLKW: LOG(ERROR, "{}() F_SETLKW on fd (on
               underlying fd) {}", __func__, fd);

                        return gsl::narrow_cast<int>(
                    syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd, arg));
        case F_GETOWN:
        case __F_GETOWN_EX:
            LOG(ERROR, "{}() F_GETOWN on fd (on underlying fd) {}", __func__,
                fd);
                                syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd,
               arg)); case F_GETOWN: case __F_GETOWN_EX: LOG(ERROR, "{}()
               F_GETOWN on fd (on underlying fd) {}", __func__, fd);

                        return gsl::narrow_cast<int>(
                    syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd, arg));
        case F_SETOWN:
        case __F_SETOWN_EX:
            LOG(ERROR, "{}() F_SETOWN on fd (on underlying fd) {}", __func__,
                fd);
                                syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd,
               arg)); case F_SETOWN: case __F_SETOWN_EX: LOG(ERROR, "{}()
               F_SETOWN on fd (on underlying fd) {}", __func__, fd);

                        return gsl::narrow_cast<int>(
                    syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd, arg));

                                syscall_no_intercept_wrapper(SYS_fcntl, fd, cmd,
               arg));
            */
        default:
            LOG(ERROR, "{}() unrecognized command {} on fd {}", __func__, cmd,
                fd);