XFS: RevServer, web hosts, and you

Phil Davis revdev at pdslabs.net
Tue Jan 22 15:32:46 EST 2013


Great sleuthing, Richard! Thanks for sharing what you learned.

Phil


On 1/22/13 11:33 AM, Richard Gaskin wrote:
> I recently had occasion to learn a bit more about file systems than I 
> had intended, and will share what I've learned here because it may 
> affect some RevServer or Rev CGI installations on third-party hosts:
>
>
> PROBLEM: Some file I/O operations fail under XFS
> ------------------------------------------------
> Dreamhost and some other web hosting companies have begun rolling out 
> new servers which use the XFS file system.
>
> XFS is said to have better performance than EXT3 and even EXT4 used on 
> most Linux systems, but apparently this comes with a risk of 
> compatibility issues.
>
> With LiveCode I've found two specific issues, though there may be others:
>
> 1. put url ("file:PathToLocalFile")
> This fails, with sysError reporting 75.  Oddly, using 
> "open..."/"read..."/"close..." works fine.
>
> 2. put the files
> This also fails, always returning empty even when you know there are 
> files there.
>
> While researching this I found some comments in the RealBASIC list 
> archives suggesting that the RB engine also has problems with the XFS 
> file system, so this is not solely a LiveCode issue.
>
> In fact, it seems there may be a few other programs that have also 
> experienced problems with XFS.
>
>
> DIAGNOSIS
> ---------
> You can determine which file system your host is using by logging into 
> the system via SSH and running this command:
>
> df -T
>
> This will produce a columnar output which lists the various volumes 
> and their file systems available to your account.  Note the second 
> column on the line for /home (often the last line of the output).  
> It's usually either EXT3, EXT4, or XFS.
>
> If it's XFS you may want to try a quick script to verify that your 
> system is having the same limitations I had, either attempting to get 
> a list of files using "the files" or reading a local file using "put 
> url...".
>
>
>
> REMEDY: Short-term
> ------------------
> If your system is using XFS, the quickest short-term solution is to 
> ask your web hosting company to move your account to a system that is 
> both 32-bit compatible and also uses either EXT3 or EXT4.
>
> With Dreamhost, it took a little back-and-forth via email, but as with 
> the RealBASIC user I'd come across they eventually offered to move my 
> accounts to a compatible system.
>
> Hopefully your web host will be able to do the same.
>
>
>
> REMEDY: Long-term
> -----------------
> With the apparent growing popularity of XFS on web servers, clearly 
> any long-term solution will require a version of the LiveCode engine 
> which is compatible with XFS.
>
> I've been using my Dev Program "Quick Incident" benefits to enlist the 
> assistance of David Williams at RunRev, who's been enormously helpful 
> in going through the code to try to pinpoint the underlying cause.
>
> His diagnosis is still ongoing at the moment, and as I learn more I'll 
> report back.
>
> If we're lucky we'll find that there are alternative API calls that 
> RunRev could use for XFS which will take care of this.  If so, we can 
> then expect a future version of LiveCode to be compatible with XFS.
>
> We may also find that the issue may be a bug in the driver or other 
> component in the system, in which case we'll have to monitor progress 
> on that and see how it goes.
>
>
> Hopefully one way or another we'll have a good long-term solution in 
> place soon.
>
> The RunRev team is putting in an admirable effort toward this, and in 
> the meantime if you experience file I/O issues on your web server and 
> can verify that your host is using XFS, you may want to contact your 
> hosting company to see if they can move your account to a machine 
> using a different file system.
>
> -- 
>  Richard Gaskin
>  Fourth World
>  LiveCode training and consulting: http://www.fourthworld.com
>  Webzine for LiveCode developers: http://www.LiveCodeJournal.com
>  Follow me on Twitter:  http://twitter.com/FourthWorldSys
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>

-- 
Phil Davis





More information about the use-livecode mailing list