func Bazil2OtaruFlags(bf bfuse.OpenFlags) int { ret := 0 if bf.IsReadOnly() { ret = oflags.O_RDONLY } else if bf.IsWriteOnly() { ret = oflags.O_WRONLY } else if bf.IsReadWrite() { ret = oflags.O_RDWR } if bf&bfuse.OpenAppend != 0 { log.Printf("FIXME: Append not supported yet !!!!!!!!!!!") } if bf&bfuse.OpenCreate != 0 { ret |= oflags.O_CREATE } if bf&bfuse.OpenExclusive != 0 { ret |= oflags.O_EXCL } if bf&bfuse.OpenSync != 0 { log.Printf("FIXME: OpenSync not supported yet !!!!!!!!!!!") } if bf&bfuse.OpenTruncate != 0 { log.Printf("FIXME: OpenTruncate not supported yet !!!!!!!!!!!") } return ret }
func Bazil2OtaruFlags(bf bfuse.OpenFlags) int { ret := 0 if bf.IsReadOnly() { ret = oflags.O_RDONLY } else if bf.IsWriteOnly() { ret = oflags.O_WRONLY } else if bf.IsReadWrite() { ret = oflags.O_RDWR } if bf&bfuse.OpenAppend != 0 { ret |= oflags.O_APPEND } if bf&bfuse.OpenCreate != 0 { ret |= oflags.O_CREATE } if bf&bfuse.OpenExclusive != 0 { ret |= oflags.O_EXCL } if bf&bfuse.OpenSync != 0 { logger.Criticalf(mylog, "FIXME: OpenSync not supported yet !!!!!!!!!!!") } if bf&bfuse.OpenTruncate != 0 { ret |= oflags.O_TRUNCATE } return ret }
func (o *Object) open(mode fuse.OpenFlags, flags *fuse.OpenResponseFlags) (*ObjectHandle, error) { oh := &ObjectHandle{ target: o, create: mode&fuse.OpenCreate == fuse.OpenCreate, } // Unsupported flags if mode&fuse.OpenAppend == fuse.OpenAppend { return nil, fuse.ENOTSUP } // Supported flags if mode.IsReadOnly() { if TransferMode&SkipOpenRead == 0 { rd, err := newReader(oh) if err == swift.TooManyRequests { return nil, fuse.EAGAIN } else if err != nil { return oh, err } oh.rd = rd } return oh, nil } if mode.IsWriteOnly() { o.m.Lock() changeCache.Add(o.c.Name, o.path, o) *flags |= fuse.OpenNonSeekable *flags |= fuse.OpenDirectIO return oh, nil } return nil, fuse.ENOTSUP }