diff options
author | Michael I. Bushnell <mib@gnu.org> | 1994-07-14 19:50:21 +0000 |
---|---|---|
committer | Michael I. Bushnell <mib@gnu.org> | 1994-07-14 19:50:21 +0000 |
commit | 3de0751576921a5a92e23a6918ec4dcb3db3c670 (patch) | |
tree | 473915f77ca95f3543f7e060080383933740bc1f /ufs/hyper.c | |
parent | f51bc401c3c327cd0548fdcbcd246b1e7c61e3c3 (diff) |
Formerly hyper.c.~6~
Diffstat (limited to 'ufs/hyper.c')
-rw-r--r-- | ufs/hyper.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ufs/hyper.c b/ufs/hyper.c index 7bb8d7c8..c9ffcc63 100644 --- a/ufs/hyper.c +++ b/ufs/hyper.c @@ -47,6 +47,13 @@ get_hypermetadata (void) exit (1); } + if (sblock->fs_maxsymlinklen > MAXSYMLINKLEN) + { + fprintf (stderr, "Max shortcut symlinklen %d is too big (max is %d)\n", + sblock->fs_maxsymlinklen, MAXSYMLINKLEN); + exit (1); + } + /* If this is an old filesystem, then we have some more work to do; some crucial constants might not be set; we are therefore forced to set them here. */ @@ -57,6 +64,12 @@ get_hypermetadata (void) if (sblock->fs_postblformat == FS_42POSTBLFMT) sblock->fs_nrpos = 8; + /* Find out if we support the 4.4 symlink/dirtype extension */ + if (sblock->fs_maxsymlinklen > 0) + direct_symlink_extension = 1; + else + direct_symlink_extension = 0; + err = dev_read_sync (fsbtodb (sblock->fs_csaddr), (vm_address_t *) &csum, sblock->fs_fsize * howmany (sblock->fs_cssize, sblock->fs_fsize)); |