mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-27 00:57:50 +00:00
- Update to 1.7
PR: ports/106344 Submitted by: Anish Mistry <amistry@am-productions.biz> (maintainer)
This commit is contained in:
parent
91480543db
commit
0a2d3954ff
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=178890
@ -5,7 +5,7 @@
|
||||
#
|
||||
|
||||
PORTNAME= sshfs
|
||||
PORTVERSION= 1.6
|
||||
PORTVERSION= 1.7
|
||||
CATEGORIES= sysutils
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
|
||||
MASTER_SITE_SUBDIR= fuse
|
||||
|
@ -1,3 +1,3 @@
|
||||
MD5 (sshfs-fuse-1.6.tar.gz) = 04fa75c1357bea362537efe15805e7da
|
||||
SHA256 (sshfs-fuse-1.6.tar.gz) = 2d8a983c37a1e443bd1ba46a0d68ea3f0b5360471b7d65a0a1a30b745d9e363a
|
||||
SIZE (sshfs-fuse-1.6.tar.gz) = 98049
|
||||
MD5 (sshfs-fuse-1.7.tar.gz) = e91a2fed1da952a375798408dc6e41a0
|
||||
SHA256 (sshfs-fuse-1.7.tar.gz) = 9f39b71d5b247535ac0d44f559125c4e904b0a0303ad5a976161fb3d91807fe1
|
||||
SIZE (sshfs-fuse-1.7.tar.gz) = 101424
|
||||
|
64
sysutils/fusefs-sshfs/files/patch-sshfs.c
Normal file
64
sysutils/fusefs-sshfs/files/patch-sshfs.c
Normal file
@ -0,0 +1,64 @@
|
||||
--- sshfs.c.orig Fri Aug 18 10:38:37 2006 +0000
|
||||
+++ sshfs.c Fri Sep 29 14:22:54 2006 +0000
|
||||
@@ -147,6 +147,7 @@ struct sshfs_file {
|
||||
int is_seq;
|
||||
int connver;
|
||||
int modifver;
|
||||
+ int refs;
|
||||
};
|
||||
|
||||
struct sshfs {
|
||||
@@ -1768,6 +1769,7 @@ static int sshfs_open_common(const char
|
||||
pthread_cond_init(&sf->write_finished, NULL);
|
||||
/* Assume random read after open */
|
||||
sf->is_seq = 0;
|
||||
+ sf->refs = 1;
|
||||
sf->next_pos = 0;
|
||||
sf->modifver= sshfs.modifver;
|
||||
sf->connver = sshfs.connver;
|
||||
@@ -1851,6 +1853,19 @@ static int sshfs_fsync(const char *path,
|
||||
return sshfs_flush(path, fi);
|
||||
}
|
||||
|
||||
+static void sshfs_file_put(struct sshfs_file *sf)
|
||||
+{
|
||||
+ sf->refs--;
|
||||
+ if (!sf->refs)
|
||||
+ g_free(sf);
|
||||
+}
|
||||
+
|
||||
+static struct sshfs_file *sshfs_file_get(struct sshfs_file *sf)
|
||||
+{
|
||||
+ sf->refs++;
|
||||
+ return sf;
|
||||
+}
|
||||
+
|
||||
static int sshfs_release(const char *path, struct fuse_file_info *fi)
|
||||
{
|
||||
struct sshfs_file *sf = get_sshfs_file(fi);
|
||||
@@ -1861,7 +1876,7 @@ static int sshfs_release(const char *pat
|
||||
}
|
||||
buf_free(handle);
|
||||
chunk_put_locked(sf->readahead);
|
||||
- g_free(sf);
|
||||
+ sshfs_file_put(sf);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2084,6 +2099,7 @@ static void sshfs_write_end(struct reque
|
||||
}
|
||||
list_del(&req->list);
|
||||
pthread_cond_broadcast(&sf->write_finished);
|
||||
+ sshfs_file_put(sf);
|
||||
}
|
||||
|
||||
static int sshfs_write(const char *path, const char *wbuf, size_t size,
|
||||
@@ -2110,7 +2126,7 @@ static int sshfs_write(const char *path,
|
||||
iov[1].iov_len = size;
|
||||
if (!sshfs.sync_write && !sf->write_error)
|
||||
err = sftp_request_send(SSH_FXP_WRITE, iov, 2, sshfs_write_begin,
|
||||
- sshfs_write_end, 0, sf, NULL);
|
||||
+ sshfs_write_end, 0, sshfs_file_get(sf), NULL);
|
||||
else
|
||||
err = sftp_request_iov(SSH_FXP_WRITE, iov, 2, SSH_FXP_STATUS, NULL);
|
||||
buf_free(&buf);
|
Loading…
Reference in New Issue
Block a user