#endif
struct readahead_data {
- SMB_OFF_T off_bound;
- SMB_OFF_T len;
+ off_t off_bound;
+ off_t len;
bool didmsg;
};
int tofd,
files_struct *fromfsp,
const DATA_BLOB *header,
- SMB_OFF_T offset,
+ off_t offset,
size_t count)
{
struct readahead_data *rhd = (struct readahead_data *)handle->data;
if ( offset % rhd->off_bound == 0) {
#if defined(HAVE_LINUX_READAHEAD)
- int err = readahead(fromfsp->fh->fd, offset, (size_t)rhd->len);
+ int err = readahead(fsp_get_io_fd(fromfsp), offset, (size_t)rhd->len);
DEBUG(10,("readahead_sendfile: readahead on fd %u, offset %llu, len %u returned %d\n",
- (unsigned int)fromfsp->fh->fd,
+ (unsigned int)fsp_get_io_fd(fromfsp),
(unsigned long long)offset,
(unsigned int)rhd->len,
err ));
#elif defined(HAVE_POSIX_FADVISE)
- int err = posix_fadvise(fromfsp->fh->fd, offset, (off_t)rhd->len, POSIX_FADV_WILLNEED);
+ int err = posix_fadvise(fsp_get_io_fd(fromfsp), offset, (off_t)rhd->len, POSIX_FADV_WILLNEED);
DEBUG(10,("readahead_sendfile: posix_fadvise on fd %u, offset %llu, len %u returned %d\n",
- (unsigned int)fromfsp->fh->fd,
+ (unsigned int)fsp_get_io_fd(fromfsp),
(unsigned long long)offset,
(unsigned int)rhd->len,
err ));
files_struct *fsp,
void *data,
size_t count,
- SMB_OFF_T offset)
+ off_t offset)
{
struct readahead_data *rhd = (struct readahead_data *)handle->data;
if ( offset % rhd->off_bound == 0) {
#if defined(HAVE_LINUX_READAHEAD)
- int err = readahead(fsp->fh->fd, offset, (size_t)rhd->len);
+ int err = readahead(fsp_get_io_fd(fsp), offset, (size_t)rhd->len);
DEBUG(10,("readahead_pread: readahead on fd %u, offset %llu, len %u returned %d\n",
- (unsigned int)fsp->fh->fd,
+ (unsigned int)fsp_get_io_fd(fsp),
(unsigned long long)offset,
(unsigned int)rhd->len,
err ));
#elif defined(HAVE_POSIX_FADVISE)
- int err = posix_fadvise(fsp->fh->fd, offset, (off_t)rhd->len, POSIX_FADV_WILLNEED);
+ int err = posix_fadvise(fsp_get_io_fd(fsp), offset, (off_t)rhd->len, POSIX_FADV_WILLNEED);
DEBUG(10,("readahead_pread: posix_fadvise on fd %u, offset %llu, len %u returned %d\n",
- (unsigned int)fsp->fh->fd,
+ (unsigned int)fsp_get_io_fd(fsp),
(unsigned long long)offset,
(unsigned int)rhd->len,
err ));
Module initialization boilerplate.
*******************************************************************/
-NTSTATUS vfs_readahead_init(void);
-NTSTATUS vfs_readahead_init(void)
+static_decl_vfs;
+NTSTATUS vfs_readahead_init(TALLOC_CTX *ctx)
{
return smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "readahead",
&vfs_readahead_fns);