diff options
Diffstat (limited to 'perl')
-rw-r--r-- | perl/Guestfs.xs | 11 | ||||
-rw-r--r-- | perl/lib/Sys/Guestfs.pm | 12 |
2 files changed, 23 insertions, 0 deletions
diff --git a/perl/Guestfs.xs b/perl/Guestfs.xs index 3c5f7138..1a45c796 100644 --- a/perl/Guestfs.xs +++ b/perl/Guestfs.xs @@ -1647,3 +1647,14 @@ PREINIT: if (r == -1) croak ("mv: %s", guestfs_last_error (g)); +void +drop_caches (g, whattodrop) + guestfs_h *g; + int whattodrop; +PREINIT: + int r; + PPCODE: + r = guestfs_drop_caches (g, whattodrop); + if (r == -1) + croak ("drop_caches: %s", guestfs_last_error (g)); + diff --git a/perl/lib/Sys/Guestfs.pm b/perl/lib/Sys/Guestfs.pm index 9501a83f..63a49259 100644 --- a/perl/lib/Sys/Guestfs.pm +++ b/perl/lib/Sys/Guestfs.pm @@ -461,6 +461,18 @@ C<filename> can also be a named pipe. See also C<$h-E<gt>upload>, C<$h-E<gt>cat>. +=item $h->drop_caches ($whattodrop); + +This instructs the guest kernel to drop its page cache, +and/or dentries and inode caches. The parameter C<whattodrop> +tells the kernel what precisely to drop, see +L<http://linux-mm.org/Drop_Caches> + +Setting C<whattodrop> to 3 should drop everything. + +This automatically calls L<sync(2)> before the operation, +so that the maximum guest memory is freed. + =item $existsflag = $h->exists ($path); This returns C<true> if and only if there is a file, directory |