xfs
[Top] [All Lists]

[PATCH] fix xfs_fsr insufficient space check

To: xfs@xxxxxxxxxxx
Subject: [PATCH] fix xfs_fsr insufficient space check
From: Chris Wedgwood <cw@xxxxxxxx>
Date: Fri, 2 Jan 2009 02:03:06 -0800
The xfs_fsr insufficient check should consider the blocks used not the
file length.  Without this change it is not possible to reorganize
sparse files when file size exceeds the free space.

Signed-off-by: Chris Wedgwood <cw@xxxxxxxx>


--- fsr/xfs_fsr.c.orig  2009-01-02 01:51:03.049181411 -0800
+++ fsr/xfs_fsr.c       2009-01-02 01:53:56.297180891 -0800
@@ -912,9 +912,9 @@
        }
        bsize = vfss.f_frsize ? vfss.f_frsize : vfss.f_bsize;
 
-       if (statp->bs_size > ((vfss.f_bfree * bsize) - minimumfree)) {
+       if ((statp->bs_blksize * statp->bs_blocks) > ((vfss.f_bfree * bsize) - 
minimumfree)) {
                fsrprintf(_("insufficient freespace for: %s: "
-                       "size=%lld: ignoring\n"), fname, statp->bs_size);
+                       "size=%lld: ignoring\n"), fname, statp->bs_blksize * 
statp->bs_blocks);
                return 1;
        }
 

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