diff --git a/ChangeLog b/ChangeLog index a152011cd3bd22f88f7242d6b2b244812addaa0e..4513f141376b10770a9c622593cde38206f0a69a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-11-24 Nick Schermer <nick@xfce.org> + + * configure.in.in, thunar-vfs/thunar-vfs-io-local-xfer.c: Use + posix_fadvise when available. + 2008-11-23 Nick Schermer <nick@xfce.org> * thunar/main.c: Use -V for version information. diff --git a/configure.in.in b/configure.in.in index 0fbebe1e72d7e1f595efc99c26e38d27dba32715..c1b8c1a274a816eafb6aefdf99586c857f28b160 100644 --- a/configure.in.in +++ b/configure.in.in @@ -118,7 +118,7 @@ AC_CHECK_FUNCS([attropen extattr_get_fd fgetxattr futimes getdents getfsspec \ getfsstat lchmod localeconv localtime_r mbrtowc mkdtemp mkfifo \ posix_madvise pread pwrite readdir_r sched_yield setgroupent \ setmntent setpassent setpriority statfs statvfs statvfs1 \ - strcoll strlcpy strptime symlink syslog]) + strcoll strlcpy strptime symlink syslog posix_fadvise]) dnl ****************************************** dnl *** Linux/glibc specified work-arounds *** diff --git a/thunar-vfs/thunar-vfs-io-local-xfer.c b/thunar-vfs/thunar-vfs-io-local-xfer.c index c9ab67a886438a3fde47fa18cca806116514439b..64201927f9a8301bbac9e152c8525bc269f7c4d8 100644 --- a/thunar-vfs/thunar-vfs-io-local-xfer.c +++ b/thunar-vfs/thunar-vfs-io-local-xfer.c @@ -252,6 +252,11 @@ tvilx_copy_regular (const gchar *source_absolute_path, else #endif /* !HAVE_MMAP */ { +#ifdef HAVE_POSIX_FADVISE + /* tell the system that the data will be read sequentially */ + posix_fadvise (source_fd, 0, 0, POSIX_FADV_SEQUENTIAL); +#endif + /* allocate the transfer buffer */ bufsize = 8 * source_statb->st_blksize; buffer = g_new (gchar, bufsize);