int rgw_lookup(rgw_fs *fs,
rgw_file_handle *parent_fh, const char *path,
- rgw_file_handle **fh, uint32_t flags)
+ rgw_file_handle **fh, stat* st, uint32_t st_mask,
+ uint32_t flags)
int rgw_lookup_handle(rgw_fs *fs, rgw_fh_hk *fh_hk,
rgw_file_handle **fh, uint32_t flags)
int rgw_readdir(rgw_fs *fs,
rgw_file_handle *parent_fh, uint64_t *offset,
- bool (*cb)(const char *name, void *arg, uint64_t offset, uint32_t flags) nogil except? -9000,
+ bool (*cb)(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) nogil except? -9000,
void *cb_arg, bool *eof, uint32_t flags) except? -9000
int rgw_getattr(rgw_fs *fs,
return Error(msg + (": error code %d" % ret))
-cdef bool readdir_cb(const char *name, void *arg, uint64_t offset, uint32_t flags) \
+cdef bool readdir_cb(const char *name, void *arg, uint64_t offset, stat *st, uint32_t st_mask, uint32_t flags) \
except? -9000 with gil:
if exc.PyErr_Occurred():
return False
rgw_file_handle *_file_handler
int _flags = flags
char* _dirname = dirname
+ stat st
+ uint32_t st_mask = 0
with nogil:
ret = rgw_lookup(self.fs, _dir_handler, _dirname,
- &_file_handler, _flags)
+ &_file_handler, &st, st_mask, _flags)
if ret < 0:
raise make_ex(ret, "error in open '%s'" % dirname)
rgw_file_handle *_file_handler
int _flags = flags
char* _filename = filename
+ stat st
+ uint32_t st_mask = 0
with nogil:
ret = rgw_lookup(self.fs, _dir_handler, _filename,
- &_file_handler, _flags)
+ &_file_handler, &st, st_mask, _flags)
if ret < 0:
raise make_ex(ret, "error in open '%s'" % filename)
with nogil: