diff --git a/vfs/ChangeLog b/vfs/ChangeLog index 8f78c66f0..13e965998 100644 --- a/vfs/ChangeLog +++ b/vfs/ChangeLog @@ -1,5 +1,9 @@ 2002-05-21 Andrew V. Samoilov + * direntry.c (vfs_s_retrieve_file): Please, care about + fish.local_stat ... + * fish.c (linear_close): ... here. + * ftpfs.c (linear_read): Unset control_connection_buzy on EOF. (ftpfs_fh_close): Call vfs_s_invalidate (). diff --git a/vfs/direntry.c b/vfs/direntry.c index 81e0836a1..515917ed5 100644 --- a/vfs/direntry.c +++ b/vfs/direntry.c @@ -970,9 +970,6 @@ vfs_s_retrieve_file(vfs *me, struct vfs_s_inode *ino) MEDATA->linear_close (me, &fh); close(handle); - if (stat (ino->localname, &ino->u.fish.local_stat) < 0) - ino->u.fish.local_stat.st_mtime = 0; - return 0; error_1: MEDATA->linear_close (me, &fh); diff --git a/vfs/fish.c b/vfs/fish.c index bb0177e46..7639e3dcc 100644 --- a/vfs/fish.c +++ b/vfs/fish.c @@ -610,7 +610,9 @@ static void linear_close (vfs *me, vfs_s_fh *fh) { if (fh->u.fish.total != fh->u.fish.got) - linear_abort(me, fh); + linear_abort(me, fh); + else if (stat (fh->ino->localname, &fh->ino->u.fish.local_stat) < 0) + fh->ino->u.fish.local_stat.st_mtime = 0; } static int