Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 23 JUL 1999 03:06:40PM Deb Spencer wrote:

I have worked with RevG & Arev for years and now OI for a couple of months…this is my first attempt at writing/installing an MFS. I have searched the KnowledgeBase, past Online Discussions, and have been reading through some old documentation I have from Arev's Developer Series on Modifying Filing System (unfortunately I don't think we have the disks available that had the sample MFSs on them).

When I tried to install my MFS I was getting a SYS1001 (nul loading error) - turned out that it was because my MFS was the only thing in the BFS variable - so, no NEXTFS. Solved that by checking for the existence of NEXTFS. Now when I try to install (my intall logic is in a script on the Click event of an OK button, in a window with no database associations that allows me to select MFSname, FILEname, and Action to send to SET_MFS) … Get_Status(ErrCodes) returns 'FS' and nothing else, @File_Error appears to be nul, and the installation doesn't occur.

The result is the same no matter what file I attempt to install on. I have read Cameron's 5/19/98 posting and copied his installation logic. As for not settting @File_Error properly, I have stripped my MFS to bare bones (and I am creating it in Sysprog and it appears in Sysobj).

I have even run Verify LH just in case. By the way, I'm using OI 3.7, currently on a stand-alone Dell Inspiron Notebook (W98).

I'm open to all suggestions …

Below is my current 'bare bones' version of my MFS, which currently does nothing except for calling the nextfs:

$insert logical

$insert file.system.equates

$insert fserrors_100

$insert fserrors_200

$insert fserrors_hdr

fs=delete(bfs,1,1,1)

nextfs=fs

@file_error='

if nextfs then

  call @nextfs(code, fs, handle, name, fmc, record, status)

end

return

Below is the logic I'm using to install:

if action # 5 then

 retval=set_status(FALSE$)
 set_mfs(fn,mfs,5)

end

retval=set_status(FALSE$)

set_mfs(fn,mfs,action)

if get_status(errcodes) then

 ... err msg handling here - errcodes=FS' ...

end

retval=set_status(FALSE$)

define_database(@dbid, FALSE$, , )

if get_status(errcodes) then

 ... err msg handling here - no err here ...

end


At 23 JUL 1999 05:50PM Cameron Revelation wrote:

Deb,

Same as in Arev, except:

1) Build your MFS in the SYSPROG application;

2) Do not call anything or do any I/O during the INSTALL call

3) Install the MFS using Set_MFS then save the database definition

Cameron Purdy

Revelation Software


At 23 JUL 1999 07:46PM Deb Spencer wrote:

Cameron,

Thanks for your reply, but I'm not sure I have enough of an explanation to solve my problem. Regarding your response:

1) Build your MFS in the SYSPROG application

….I have built it in SYSPROG

2) Do not call anything or do any I/O during the INSTALL call

….I'm doing the install from a script on a click event. I am running it currently from within Form Designer - IS THIS A PROBLEM? I have halted my Norton Utilities, Crashguard, and Anti-Virus. I'm just watching it run until completed.

3) Install the MFS using Set_MFS then save the database definition

….As per my original posting, I use Set_MFS to first attempt removing the MFS, then Set_MFS to add the MFS, and then Define_Database to save it. Set_MFS to add the MFS still keeps returning 'FS' in Get_Status(ErrCodes).


At 24 JUL 1999 01:26PM akaplan@sprezzatura.com - [url=http://www.sprezzatura.com]Sprezzatura Group[/url] wrote:

Out of habit, I don't use SET_MFS. It had some problems in earlier releases that should be fixed by now, but once you have a decent work-around, sometimes you stick with it. Besides, this was how we used to do it in ARev, so it's not like it was a big deal.

From the exec line,

RUN ALIAS_TABLE VolumeName, 'SYSPROG', 'REVMEDIA','REVMEDIA'.

Edit the REVMEDIA record for the table you want to add the MFS to. MFSs go in field 2 and are @VM delimited.

Save this record, detach the MFS file, then reattach the MFS file. This should add the MFS in. Once it works, save the current system in the database manager. Don't forget to detach the REVMEDIA file first!

Also, it might be a good idea to make the MFS program expendable while you are doing the debugging. Otherwise it's loaded on the stack permanently and you'll have to log out to see any changes.

akaplan@sprezzatura.com

Sprezzatura Group

www.sprezzatura.com_zz.jpg


At 25 JUL 1999 08:05AM akaplan@sprezzatura.com - [url=http://www.sprezzatura.com]Sprezzatura Group[/url] wrote:

One more thing…your MFS will probably bomb when you run it since the install BFS code does not get sent down the chain. Look through the manuals, there should be some sample code in there. That will tell you which ones not to pass down the chain.

akaplan@sprezzatura.com

Sprezzatura Group

www.sprezzatura.com_zz.jpg


At 26 JUL 1999 07:39AM Cameron Revelation wrote:

Deb,

2) Do not call anything or do any I/O during the INSTALL call ….I'm doing the install from a script on a click event.

I meant the INSTALL portion of the MFS. (When the value of the "Code" parameter is INSTALL$ or something like that.)

It sounds like Set_MFS is failing because your logic on INSTALL$ is wrong. See Aaron's suggestions.

Cameron Purdy

Revelation Software


At 26 JUL 1999 12:22PM Deb Spencer wrote:

Oh! I get it now. I just forgot that INSTALL was referring to the code passed in.

Thanks to you and Aaron for your responses … will give it a try now with my new understanding.


At 26 JUL 1999 04:09PM Deb Spencer wrote:

Thanks for your response. While I'm testing I was keeping my MFS expendable. I guess I just skimmed the Arev doc too fast and missed Chapter 6 (Operations Reference).

FYI: I soon as I corrected my MFS (so that INSTALL, FLUSH, AND UNLOCK.ALL don't forward down the BFS chain and properly set STATUS), my call to SET_MFS worked, so I didn't need to do the attaching and editting myself - although I admit I was tempted to go that route a couple of days ago.


At 26 JUL 1999 10:44PM akaplan@sprezzatura.com - [url=http://www.sprezzatura.com]Sprezzatura Group[/url] wrote:

Glad it worked. If you have more questions on MFS's, go ahead and post. You'll find them easy, powerful, complicated and frustrating all in one go. I think they're one of the best features of the OS. Almost like extending the LH base class.

akaplan@sprezzatura.com

Sprezzatura Group

www.sprezzatura.com_zz.jpg

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/1fd35bf825eab789852567b70068fb2b.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1