summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2009-06-05 13:33:40 +0000
committerCharles.Forsyth <devnull@localhost>2009-06-05 13:33:40 +0000
commitf4ab6bd1adbb9bff11da6885084de2ed31f2a415 (patch)
tree86b1099bed90d4920d7c7665cfaa9ed2aa3664ae
parentb370703f35244a5152bf72daf6a871fba74ed373 (diff)
20090605-1433
-rw-r--r--CHANGES2
-rw-r--r--appl/cmd/disk/kfs.b6
-rw-r--r--dis/disk/kfs.disbin47530 -> 47556 bytes
-rw-r--r--include/version.h2
4 files changed, 7 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index 7bb163a2..172caf73 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,5 @@
+20090605
+ appl/cmd/disk/kfs.b dis/disk/kfs.dis - don't try to update super block if readonly(!) [issue 175]
20090526
emu/Nt/os.c allow /dev/hoststdin input on file or pipe (thanks to caerwyn, issue 173)
emu/port/devfs-posix.c correct handling of error return from pread (issue 172, but goes beyond that)
diff --git a/appl/cmd/disk/kfs.b b/appl/cmd/disk/kfs.b
index 56440205..d4c23ccf 100644
--- a/appl/cmd/disk/kfs.b
+++ b/appl/cmd/disk/kfs.b
@@ -444,7 +444,7 @@ init(nil: ref Draw->Context, args: list of string)
if(wrencheck(wrenfd))
error("kfs super/root in trouble");
- if(!ream && !superok(0)){
+ if(!ream && !readonly && !superok(0)){
sys->print("kfs needs check\n");
if(!nocheck)
check(thedevice, Cquiet|Cfree);
@@ -508,7 +508,7 @@ shutdown()
kill(hd pids);
# TO DO: when Bmod deferred, must sync
# sync super block
- if(superok(1)){
+ if(!readonly && superok(1)){
# ;
}
iobufclear();
@@ -1393,6 +1393,8 @@ dirread(cp: ref Chan, f: ref Tmsg.Read, file: ref File, d: ref Dentry): ref Rmsg
data := array[count] of byte;
offset := f.offset;
iounit := cp.msize-IOHDRSZ;
+ if(count > iounit)
+ count = iounit;
# Pick up where we left off last time if nothing has changed,
# otherwise must scan from the beginning.
diff --git a/dis/disk/kfs.dis b/dis/disk/kfs.dis
index 3a39dd0e..c1e4682b 100644
--- a/dis/disk/kfs.dis
+++ b/dis/disk/kfs.dis
Binary files differ
diff --git a/include/version.h b/include/version.h
index 8d321c41..31235b07 100644
--- a/include/version.h
+++ b/include/version.h
@@ -1 +1 @@
-#define VERSION "Fourth Edition (20090526)"
+#define VERSION "Fourth Edition (20090605)"