Index: wp-includes/option.php
===================================================================
--- wp-includes/option.php	(revision 21204)
+++ wp-includes/option.php	(working copy)
@@ -1021,7 +1021,11 @@
 function set_site_transient( $transient, $value, $expiration = 0 ) {
 	global $_wp_using_ext_object_cache;
 
-	$value = apply_filters( 'pre_set_site_transient_' . $transient, $value );
+	$options = apply_filters( 'pre_set_site_transient_' . $transient, $value, $expiration );
+	if ( is_string( $options ) ) { //backwards compatibility
+		$value = $options;
+   }
+	else {
+       if ( isset( $options['value'] )
+		    $value = $options['value'];
+       if ( isset( $options['expiration'] )
+		    $expiration = $options['expiration'];
+   }
 
 	if ( $_wp_using_ext_object_cache ) {
 		$result = wp_cache_set( $transient, $value, 'site-transient', $expiration );
