]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/filedir.c
Don't create IPC reconnect socket if not needed.
[netatalk.git] / etc / afpd / filedir.c
index 7166c125d36c8af3cae56270fec3924a8e31037e..16c329ab72d6b38c7580d416b8fe6c1e57ed88b5 100644 (file)
@@ -624,9 +624,13 @@ int afp_delete(AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size
         if (s_path->st_valid && s_path->st_errno == ENOENT) {
             rc = AFPERR_NOOBJ;
         } else {
-            if ((rc = deletefile(vol, -1, upath, 1)) == AFP_OK)
+            if ((rc = deletefile(vol, -1, upath, 1)) == AFP_OK) {
                                fce_register_delete_file( s_path );
-
+                if (vol->v_tm_used < s_path->st.st_size)
+                    vol->v_tm_used = 0;
+                else 
+                    vol->v_tm_used -= s_path->st.st_size;
+            }
             struct dir *cachedfile;
             if ((cachedfile = dircache_search_by_name(vol, dir, upath, strlen(upath)))) {
                 dircache_remove(vol, cachedfile, DIRCACHE | DIDNAME_INDEX | QUEUE_INDEX);