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