[Top] [All Lists]

Re: synchronization of XFS

To: Eric Sandeen <sandeen@xxxxxxx>
Subject: Re: synchronization of XFS
From: Stefan Smietanowski <stesmi@xxxxxxxxxx>
Date: Fri, 09 Apr 2004 22:59:17 +0200
Cc: "IKARASHI, Seiichi" <ikarashi@xxxxxxxxxxxxxxxx>, Chris Wedgwood <cw@xxxxxxxx>, Steve Lord <lord@xxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, linux-xfs@xxxxxxxxxxx
In-reply-to: <Pine.LNX.4.44.0404091049360.15480-100000@stout.americas.sgi.com>
References: <Pine.LNX.4.44.0404091049360.15480-100000@stout.americas.sgi.com>
Sender: linux-xfs-bounce@xxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b) Gecko/20040316
Hi Eric.
> Correct - that reads the first few bytes and looks for 
> the xfs magic number.

I knew there was a sort-of simple way but I thought that
that function was out of booty's context (or something)
so that I couldn't call it directly. I'm glad I was wrong.

>>I'll try that if you wrote there and get back to you tomorrow.
>>Right now it's pretty late .. 0320. ouch... Yup, definately tomorrow.
> Great, thanks for doing all the work on this.  Perhaps when you
> get it tidied up you can add this info to the Red Hat bugzilla
> bug tracking this problem?

How does this patch look?

I only tried it when the root was either XFS or EXT3 with no /boot
partition but I don't see why it wouldn't work in other cases.

If you think it's ok then I'll post it to that bugzilla entry.

Know the number of it (or have a link) ?

// Stefan

-- Attached file included as plaintext by Ecartis --
-- File: booty-xfs-workaround.patch

diff -urN booty-0.34-orig/bootloaderInfo.py booty-0.34/bootloaderInfo.py
--- booty-0.34-orig/bootloaderInfo.py   2004-03-16 19:16:51.000000000 +0100
+++ booty-0.34/bootloaderInfo.py        2004-04-09 03:47:13.000000000 +0200
@@ -818,6 +818,20 @@
+            # GRUB does a Bad Thing(TM) trying to read from the block
+            # device directly so we sort of have to force data to disk
+            # Note: It IS GRUB's fault, not XFS's fault.
+            import fsset
+            if fsset.isValidXFS(bootDev):
+                rhpl.executil.execWithRedirect( "/usr/sbin/xfs_freeze",
+                                    ["/usr/sbin/xfs_freeze", "-f", "/boot"],
+                                    stdout = "/dev/tty5", stderr = "/dev/tty5",
+                                    root = instRoot)
+                rhpl.executil.execWithRedirect( "/usr/sbin/xfs_freeze",
+                                    ["/usr/sbin/xfs_freeze", "-u", "/boot"],
+                                    stdout = "/dev/tty5", stderr = "/dev/tty5",
+                                    root = instRoot)
             # really install the bootloader
            p = os.pipe()
            os.write(p[1], cmd + '\n')

<Prev in Thread] Current Thread [Next in Thread>