[prev in list] [next in list] [prev in thread] [next in thread]
List: intermezzo-cvs
Subject: CVS: intermezzo/presto24/linux intermezzo_upcall.h,1.4.2.1,1.4.2.2
From: Phil Schwan <pschwan () users ! sourceforge ! net>
Date: 2001-10-24 1:30:36
[Download RAW message or body]
Update of /cvsroot/intermezzo/intermezzo/presto24/linux
In directory usw-pr-cvs1:/tmp/cvs-serv19080/presto24/linux
Modified Files:
Tag: b_kml_trunc_merge
intermezzo_upcall.h
Log Message:
Summary:
- major bug fixes; asymptotically approaching stable kml truncation
- additional permit grabbing/revoking bits to prohibit modifications by any
client during KML truncation
- bring recent trunk changes onto the branch (UUID, SysID, replicator.db)
- Lento/InterMezzo/UpcallHandler.pm (KML_Truncate): before we complete the
upcall, start a revoke_permit(), and ask to be notified when the kernel
releases it. Also, set fset->{sync_session} so that we don't immediately give
the permit away again. Hold this permit for the entire kml truncation process,
and only delete fset->{sync_session} when the final ioctl() returns.
Also, now that we update last_rcvd when we receive confirmation packets, use
that to determine at what offset to truncate the KML.
- presto24/journal.c (presto_reserve_record): don't add fset_kml_logical_off
unless rec->is_kml is true
- presto24/journal.c: a number of places were checking for (handle != NULL)
instaed of IS_ERR(handle) following a presto_trans_start(); fixed.
- presto24/journal.c (presto_finish_kml_truncate): cleaned up the error
handling code to properly commit before exiting
- presto24/journal.c
- presto24/journal.c (presto_kml_truncate): call presto_get_permit() before
the kml_truncate upcall, and presto_put_permit() afterwards. By that point,
userspace should be the only permitholder.
- presto24/journal.c (presto_log): only subtract fset_kml_logical_off from the
write offset if rec->is_kml
- presto24/journal_ext3.c (presto_e3_trans_start): tweaked jblocks when op ==
PRESTO_OP_KML_TRUNC; probably still incorrect, but closer, I think.
- presto24/presto.c (lento_cancel_lml): another s/!handle/IS_ERR(handle)/
- presto24/linux/intermezzo_upcall.h: in struct lento_kml_in, length was
supposed to be 64 bits, not offset. oops.
Index: intermezzo_upcall.h
===================================================================
RCS file: /cvsroot/intermezzo/intermezzo/presto24/linux/intermezzo_upcall.h,v
retrieving revision 1.4.2.1
retrieving revision 1.4.2.2
diff -U2 -r1.4.2.1 -r1.4.2.2
--- intermezzo_upcall.h 2001/10/15 21:28:33 1.4.2.1
+++ intermezzo_upcall.h 2001/10/24 01:30:34 1.4.2.2
@@ -79,7 +79,7 @@
struct lento_kml_in {
struct lento_up_hdr uh;
- loff_t offset;
+ unsigned int offset;
unsigned int first_recno;
- unsigned int length;
+ loff_t length;
unsigned int last_recno;
int namelen;
_______________________________________________
intermezzo-commit mailing list
intermezzo-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/intermezzo-commit
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic