dm-snap.c (f1615bbe9be4def59c3b3eaddb60722efeed16c2) | dm-snap.c (743162013d40ca612b4cb53d3a200dff2d9ab26e) |
---|---|
1/* 2 * dm-snapshot.c 3 * 4 * Copyright (C) 2001-2002 Sistina Software (UK) Limited. 5 * 6 * This file is released under the GPL. 7 */ 8 --- 1018 unchanged lines hidden (view full) --- 1027} 1028 1029static void start_merge(struct dm_snapshot *s) 1030{ 1031 if (!test_and_set_bit(RUNNING_MERGE, &s->state_bits)) 1032 snapshot_merge_next_chunks(s); 1033} 1034 | 1/* 2 * dm-snapshot.c 3 * 4 * Copyright (C) 2001-2002 Sistina Software (UK) Limited. 5 * 6 * This file is released under the GPL. 7 */ 8 --- 1018 unchanged lines hidden (view full) --- 1027} 1028 1029static void start_merge(struct dm_snapshot *s) 1030{ 1031 if (!test_and_set_bit(RUNNING_MERGE, &s->state_bits)) 1032 snapshot_merge_next_chunks(s); 1033} 1034 |
1035static int wait_schedule(void *ptr) 1036{ 1037 schedule(); 1038 1039 return 0; 1040} 1041 | |
1042/* 1043 * Stop the merging process and wait until it finishes. 1044 */ 1045static void stop_merge(struct dm_snapshot *s) 1046{ 1047 set_bit(SHUTDOWN_MERGE, &s->state_bits); | 1035/* 1036 * Stop the merging process and wait until it finishes. 1037 */ 1038static void stop_merge(struct dm_snapshot *s) 1039{ 1040 set_bit(SHUTDOWN_MERGE, &s->state_bits); |
1048 wait_on_bit(&s->state_bits, RUNNING_MERGE, wait_schedule, 1049 TASK_UNINTERRUPTIBLE); | 1041 wait_on_bit(&s->state_bits, RUNNING_MERGE, TASK_UNINTERRUPTIBLE); |
1050 clear_bit(SHUTDOWN_MERGE, &s->state_bits); 1051} 1052 1053/* 1054 * Construct a snapshot mapping: <origin_dev> <COW-dev> <p/n> <chunk-size> 1055 */ 1056static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) 1057{ --- 1339 unchanged lines hidden --- | 1042 clear_bit(SHUTDOWN_MERGE, &s->state_bits); 1043} 1044 1045/* 1046 * Construct a snapshot mapping: <origin_dev> <COW-dev> <p/n> <chunk-size> 1047 */ 1048static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) 1049{ --- 1339 unchanged lines hidden --- |