[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] [RFC PATCH 0/2] dirreadahead system call



This system call takes 3 arguments:
fd      - file descriptor of the directory being readahead
*offset - offset in dir from which to resume. This is updated
          as we move along in the directory
count   - The max number of entries to readahead

The syscall is supposed to read upto 'count' entries starting at
'*offset' and cache the inodes corresponding to those entries. It
returns a negative error code or a positive number indicating
the number of inodes it has issued readaheads for. It also
updates the '*offset' value so that repeated calls to dirreadahead
can resume at the right location. Returns 0 when there are no more
entries left.

Abhi Das (2):
  fs: Add dirreadahead syscall and VFS hooks
  gfs2: GFS2's implementation of the dir_readahead file operation

 arch/x86/syscalls/syscall_32.tbl |   1 +
 arch/x86/syscalls/syscall_64.tbl |   1 +
 fs/gfs2/Makefile                 |   3 +-
 fs/gfs2/dir.c                    |  49 ++++++---
 fs/gfs2/dir.h                    |  15 +++
 fs/gfs2/dir_readahead.c          | 209 +++++++++++++++++++++++++++++++++++++++
 fs/gfs2/file.c                   |   2 +
 fs/gfs2/main.c                   |  10 +-
 fs/gfs2/super.c                  |   1 +
 fs/readdir.c                     |  49 +++++++++
 include/linux/fs.h               |   3 +
 11 files changed, 328 insertions(+), 15 deletions(-)
 create mode 100644 fs/gfs2/dir_readahead.c

-- 
1.8.1.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]