summaryrefslogtreecommitdiff
path: root/src/push_to_kclient.pl
blob: f76a2bb91f409d285d1d7a909dd0f2131bd539fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/perl

use strict;

my $usage = "./push_to_client.pl <path_to_kernel_git_tree>\n";

my $kernel = shift @ARGV || die $usage;
die $usage unless -d $kernel;
die $usage unless -e "$kernel/fs/ceph/README";

die "not in a git tree" unless `cd $kernel && git rev-parse HEAD`;

my $dir = '.';
until (-d "$dir/.git") {
    $dir .= "/..";
}

print "pushing changed shared files from $dir to $kernel...\n";
my @files = split(/\n/, `cat $kernel/fs/ceph/README`);
for (@files) {
    next if /^#/;
    my ($orig, $new) = split(/\s+/, $_);
    #print "$dir/$orig -> $new\n";
    system "cp -v $dir/$orig $kernel/$new";
}

print "pulling changed shared files from $kernel to $dir...\n";
system "cp -v $kernel/fs/ceph/ioctl.h $dir/src/client/ioctl.h";
system "cp -v $kernel/fs/btrfs/ioctl.h $dir/src/os/btrfs_ioctl.h";

print "done.\n";