xfs
[Top] [All Lists]

[PATCH 1/1] xfs: fix the symbolic link assert in xfs_ifree

To: xfs@xxxxxxxxxxx
Subject: [PATCH 1/1] xfs: fix the symbolic link assert in xfs_ifree
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Thu, 06 Jun 2013 11:10:33 -0500
Delivered-to: xfs@xxxxxxxxxxx
References: <20130606161032.753011157@xxxxxxx>
User-agent: quilt/0.60-1
Adding an extended attribute to a symbolic link can force that
link to an remote extent. xfs_inactive() incorrectly assumes
that any symbolic link small enough to be in the inode core
is incore, the remote extent is not cleaned and xfs_ifree()
asserts on presence the remote extent.

Signed-off-by: Mark Tinguely <tinguely@xxxxxxx>
---
 fs/xfs/xfs_vnodeops.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: b/fs/xfs/xfs_vnodeops.c
===================================================================
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -325,7 +325,7 @@ xfs_inactive(
                /*
                 * Zero length symlinks _can_ exist.
                 */
-               if (ip->i_d.di_size > XFS_IFORK_DSIZE(ip)) {
+               if (ip->i_d.di_nextents) {
                        error = xfs_inactive_symlink_rmt(ip, &tp);
                        if (error)
                                goto out_cancel;


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