mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
Block pull request
* Support -drive cache.direct=off live migration for POSIX files -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJa9rOXAAoJEJykq7OBq3PIsEYH/RQtBexXbqiosBvHkoZUwEjG +lepQXEgJjhNoHil23q/2Ilo16w4gSoV0HA1AGs2Ka5eoWvOj+mwmE+mxPV3mdBy jJt0FVWJxh0Ak9bKEEl3LYDu/yRt2gAyiCWVZcgTJNXepXagLMcwZ8mNsyb4R+Lh EWroCBGp1de4kUhNmx/639DQCc5Wm9c6rTHnBt/jfCo2IRA6Wm/AsBXZKhZ4+RY9 4qyujA7rUjCK2lOHHOw2tsABxhsfMiLlbW4K78Z5cIzjudMHhUMgvkFp7FvDEmQC 61b0ogLErewhKwGdaVrjN4iSnFv2mJz1GJQGe5n9C2CYvUzxlEW7l+mV5kxNjsk= =GmNn -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging Block pull request * Support -drive cache.direct=off live migration for POSIX files # gpg: Signature made Sat 12 May 2018 10:27:51 BST # gpg: using RSA key 9CA4ABB381AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8 * remotes/stefanha/tags/block-pull-request: block/file-posix: add x-check-page-cache=on|off option block/file-posix: implement bdrv_co_invalidate_cache() on Linux checkpatch: reduce MAINTAINERS update message frequency checkpatch: emit a warning on file add/move/delete checkpatch: ignore email headers better checkpatch: check utf-8 content from a commit log when it's missing from charset checkpatch: add a --strict check for utf-8 in commit logs blockjob: drop block_job_pause/resume_all() Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
a9cb55a356
5 changed files with 202 additions and 48 deletions
|
|
@ -224,9 +224,8 @@ our $NonptrType;
|
|||
our $Type;
|
||||
our $Declare;
|
||||
|
||||
our $UTF8 = qr {
|
||||
[\x09\x0A\x0D\x20-\x7E] # ASCII
|
||||
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
|
||||
our $NON_ASCII_UTF8 = qr{
|
||||
[\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
|
||||
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
|
||||
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
|
||||
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
|
||||
|
|
@ -235,6 +234,11 @@ our $UTF8 = qr {
|
|||
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
|
||||
}x;
|
||||
|
||||
our $UTF8 = qr{
|
||||
[\x09\x0A\x0D\x20-\x7E] # ASCII
|
||||
| $NON_ASCII_UTF8
|
||||
}x;
|
||||
|
||||
# There are still some false positives, but this catches most
|
||||
# common cases.
|
||||
our $typeTypedefs = qr{(?x:
|
||||
|
|
@ -1207,6 +1211,11 @@ sub process {
|
|||
my $signoff = 0;
|
||||
my $is_patch = 0;
|
||||
|
||||
my $in_header_lines = $file ? 0 : 1;
|
||||
my $in_commit_log = 0; #Scanning lines before patch
|
||||
my $reported_maintainer_file = 0;
|
||||
my $non_utf8_charset = 0;
|
||||
|
||||
our @report = ();
|
||||
our $cnt_lines = 0;
|
||||
our $cnt_error = 0;
|
||||
|
|
@ -1359,7 +1368,6 @@ sub process {
|
|||
if ($line =~ /^diff --git.*?(\S+)$/) {
|
||||
$realfile = $1;
|
||||
$realfile =~ s@^([^/]*)/@@;
|
||||
|
||||
} elsif ($line =~ /^\+\+\+\s+(\S+)/) {
|
||||
$realfile = $1;
|
||||
$realfile =~ s@^([^/]*)/@@;
|
||||
|
|
@ -1398,6 +1406,8 @@ sub process {
|
|||
if ($line =~ /^\s*signed-off-by:/i) {
|
||||
# This is a signoff, if ugly, so do not double report.
|
||||
$signoff++;
|
||||
$in_commit_log = 0;
|
||||
|
||||
if (!($line =~ /^\s*Signed-off-by:/)) {
|
||||
ERROR("The correct form is \"Signed-off-by\"\n" .
|
||||
$herecurr);
|
||||
|
|
@ -1408,6 +1418,22 @@ sub process {
|
|||
}
|
||||
}
|
||||
|
||||
# Check if MAINTAINERS is being updated. If so, there's probably no need to
|
||||
# emit the "does MAINTAINERS need updating?" message on file add/move/delete
|
||||
if ($line =~ /^\s*MAINTAINERS\s*\|/) {
|
||||
$reported_maintainer_file = 1;
|
||||
}
|
||||
|
||||
# Check for added, moved or deleted files
|
||||
if (!$reported_maintainer_file && !$in_commit_log &&
|
||||
($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ ||
|
||||
$line =~ /^rename (?:from|to) [\w\/\.\-]+\s*$/ ||
|
||||
($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ &&
|
||||
(defined($1) || defined($2))))) {
|
||||
$reported_maintainer_file = 1;
|
||||
WARN("added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);
|
||||
}
|
||||
|
||||
# Check for wrappage within a valid hunk of the file
|
||||
if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
|
||||
ERROR("patch seems to be corrupt (line wrapped?)\n" .
|
||||
|
|
@ -1426,6 +1452,28 @@ sub process {
|
|||
ERROR("Invalid UTF-8, patch and commit message should be encoded in UTF-8\n" . $hereptr);
|
||||
}
|
||||
|
||||
# Check if it's the start of a commit log
|
||||
# (not a header line and we haven't seen the patch filename)
|
||||
if ($in_header_lines && $realfile =~ /^$/ &&
|
||||
!($rawline =~ /^\s+\S/ ||
|
||||
$rawline =~ /^(commit\b|from\b|[\w-]+:).*$/i)) {
|
||||
$in_header_lines = 0;
|
||||
$in_commit_log = 1;
|
||||
}
|
||||
|
||||
# Check if there is UTF-8 in a commit log when a mail header has explicitly
|
||||
# declined it, i.e defined some charset where it is missing.
|
||||
if ($in_header_lines &&
|
||||
$rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
|
||||
$1 !~ /utf-8/i) {
|
||||
$non_utf8_charset = 1;
|
||||
}
|
||||
|
||||
if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
|
||||
$rawline =~ /$NON_ASCII_UTF8/) {
|
||||
WARN("8-bit UTF-8 used in possible commit log\n" . $herecurr);
|
||||
}
|
||||
|
||||
# ignore non-hunk lines and lines being removed
|
||||
next if (!$hunk_line || $line =~ /^-/);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue