Ryo Nakamura
700d64b375
now mscp links libmscp
2023-02-26 23:18:39 +09:00
Ryo Nakamura
dbc96f9166
add -r option (but no effect)
2023-02-16 18:04:16 +09:00
Ryo Nakamura
fd5c6e971e
add \n at the final output
2023-02-16 17:59:26 +09:00
Ryo Nakamura
3d98451bba
set default nr_threads to floor(log(cores) * 2) + 1)
...
This change prevents mscp from establishing too many ssh connections
on many-core machines in default.
2022-12-11 14:01:52 +09:00
Ryo Nakamura
d27db01d8d
use pthread_cleanup to acquire and release lock
...
In chunk_prepare(), if multiple threads wait for acquiring f->lock,
and then pthread_cancel() is called, the waiting threads are never
canceled because pthread_mutex_lock() is not a cancellation point.
So, use pthread_cleanup_push/pop to release the lock.
2022-12-11 13:23:41 +09:00
Ryo Nakamura
6ae3f0f9f1
set default NR_AHEAD to 32
2022-12-08 18:01:50 +09:00
Ryo Nakamura
847c80276a
fix final progress output
2022-12-06 20:04:04 +09:00
Ryo Nakamura
1441873db6
reuse ctrl sftp session for the first copy thread
2022-12-05 21:47:00 +09:00
Ryo Nakamura
e1d14623f4
set TCP_NODELAY by default and introduce -N option to disable it
2022-12-04 21:32:48 +09:00
Ryo Nakamura
3b794ab51b
remove unused code and introduce -b buf_sz option
...
This commit removes ifdef ASYNC_WRITE. So, mscp always depends on
the patched libssh.
2022-12-03 20:48:43 +09:00
Ryo Nakamura
50c6781811
little cleanup
2022-12-02 23:35:45 +09:00
Ryo Nakamura
03b857b51a
add -M hmac option
2022-12-02 21:13:13 +09:00
Ryo Nakamura
d646fc1f89
use sigalrm for printing progress bar
2022-11-28 00:14:05 +09:00
Ryo Nakamura
5188cf6df6
add ETA to progress print
2022-11-27 20:36:24 +09:00
Ryo Nakamura
130e735e65
skip sftp_free() inappropriately
2022-11-27 19:48:13 +09:00
Ryo Nakamura
8cc964ca8a
fix duplicate error message on ssh auth failed.
...
and fix the final \n with -q
2022-11-26 17:34:24 +09:00
Ryo Nakamura
5e7aa774ca
fix when copy multiple sources and various tiny fixes
...
* when copying multiple sources, target must be directory
* add multi-src copy test and parametrize src/dst prefixes
* cleanup REAMDE (s/sessions/connections/g)
* make error output in copy functions simple
2022-11-18 20:20:19 +09:00
Ryo Nakamura
b8d58b1fba
tiny fix
...
- set ssh nonblocking before closing sftp session
- fix pprint for core mask
2022-11-18 13:47:24 +09:00
Ryo Nakamura
41da0c5cfe
check invalid coremask
2022-11-16 01:57:27 +09:00
Ryo Nakamura
a69115a4dc
add -m coremask option
2022-11-15 19:57:53 +09:00
Ryo Nakamura
e9d5ceb462
add memory barrier to notify monitor thread of copy threads finished
2022-11-13 15:33:45 +09:00
Ryo Nakamura
81a7fbd2d8
add -a nr_ahead option
2022-11-13 15:31:12 +09:00
Ryo Nakamura
cfbbae860c
little trick to make progress bar stable
2022-11-12 17:45:08 +09:00
Ryo Nakamura
756e0759f9
fix buf size in remote to local copy.
...
Too large buffer size for sftp_async_read causes unfinished copy:
sftp_async_read returns 0 althrough data remains.
2022-11-12 17:30:51 +09:00
Ryo Nakamura
71d827d613
fix some thread handling
2022-11-12 16:11:20 +09:00
Ryo Nakamura
8eb9e69c1c
fix incorrect ret handling for read/write
2022-11-08 10:06:30 +00:00
Ryo Nakamura
243bf1fa57
add -H option to disable host key check
...
tests use this option.
2022-11-05 22:46:02 +09:00
Ryo Nakamura
d62fc2cddd
do not print progress when total bytes transferred is 0
2022-10-31 15:30:42 +00:00
Ryo Nakamura
7039b84c4f
capture retval from copy threads
2022-11-01 00:17:05 +09:00
Ryo Nakamura
926688e849
rename dirname if dst dir does not exist
...
`scp remote:srcdir dstdir` renames srcdir to dstdir if dstdir does
not exist. If dstdir exists, it creates dstdir/srcdir.
This commit imitates this behavior.
2022-10-31 22:51:39 +09:00
Ryo Nakamura
e997d692c2
set nr_threads to # of chunks if # of chunks is small
2022-10-30 12:27:58 +00:00
Ryo Nakamura
453e8f27ce
add cpack to build debian package
2022-10-30 12:17:17 +00:00
Ryo Nakamura
b9f44bb030
Merge branch 'main' of github.com:upa/mscp
2022-10-30 15:22:17 +09:00
Ryo Nakamura
c495f6b89b
rename sscp to mscp
2022-10-30 15:20:05 +09:00
Ryo Nakamura
65bdbdaede
little refactoring for param names
2022-10-30 06:13:02 +00:00
Ryo Nakamura
c76fa3141d
change indent from space to tab
2022-10-29 23:48:50 +09:00
Ryo Nakamura
ff697aa514
fix path handling
2022-10-29 23:36:12 +09:00
Ryo Nakamura
47f6983148
wrap print progress in pprint
2022-10-25 01:47:39 +09:00
Ryo Nakamura
c83927cd5a
add copy start and done output
...
These fputs should be wrapped in a function and protected by a lock. todo.
2022-10-25 00:14:47 +09:00
Ryo Nakamura
7ca4a85b76
fix miss flag handling for threads[n].finished
2022-10-25 00:04:59 +09:00
Ryo Nakamura
8d7e6fe016
todo: consider smp for counters
2022-10-24 23:50:00 +09:00
Ryo Nakamura
962542bd9c
adjust order of thread spawning
2022-10-23 21:53:41 +09:00
Ryo Nakamura
79e717d1ed
configurable sftp_buf_sz.
...
default value 131072 is derived from qemu/block/ssh.c.
we need more investigaion.
2022-10-23 21:43:44 +09:00
Ryo Nakamura
7c18d42004
bps to byte/s
2022-10-23 16:10:07 +09:00
Ryo Nakamura
03a20c77d8
spawn monitor thread before copy threads
2022-10-23 16:05:49 +09:00
Ryo Nakamura
d11ac58f4b
compilable in linux
2022-10-23 15:51:21 +09:00
Ryo Nakamura
99b2bca7e5
fix usage
2022-10-23 01:21:44 +09:00
Ryo Nakamura
3849cc6bc6
fix on progress bar
2022-10-23 01:16:03 +09:00
Ryo Nakamura
75a1d8e737
add progress bar
2022-10-23 01:08:40 +09:00
Ryo Nakamura
ec785ff33e
fix stat output
2022-10-23 00:14:28 +09:00