Perhaps it close #214549.

Logrotate doesn't allow dislocate olddir on a separate disk device
because it use `rename' syscall to do rotation. However, when logrotate
configured with `copytruncate' option, it use other procedure for file
rotation by using copy and `ftrunc' source file.
So we should check this situation on configure stage.

Index: logrotate-3.7.8/config.c
===================================================================
--- logrotate-3.7.8.orig/config.c	2009-10-13 18:46:32.447374481 +0600
+++ logrotate-3.7.8/config.c	2009-10-14 10:35:36.058135368 +0600
@@ -1434,7 +1434,7 @@
 			return 1;
 		    }
 
-		    if (sb.st_dev != sb2.st_dev) {
+		    if (sb.st_dev != sb2.st_dev && !(newlog->flags & LOG_FLAG_COPYTRUNCATE)) {
 			message(MESS_ERROR,
 				"%s:%d olddir %s and log file %s "
 				"are on different devices\n", configFile,
