Extended attribute sharing and debug macro typo in 2.5.64

Extended attribute sharing and debug macro typo in 2.5.64

Post by Andreas Gruenbache » Sat, 08 Mar 2003 18:00:17



Hello Andrew,

Tony Dziedzic has found two bugs in the extended attributes code. Patches with
explanations are attached. Could you please fold this into one of your next
updates?

Thanks,
Andreas.

------------------------------------------------------------------------------
Extended attribute sharing on ext2/ext3 not working

The mb_cache_entry_insert function constantly returns an -EBUSY error
instead of 0, which causes the xattr cache that is needed by the xattr
sharing mechanism on ext2/ext3 to not share anything. This patch fixes
the problem. (It is possible that after applying this fix we will hit
bugs in code that wasn't used before.)

--- linux-2.5.64.orig/fs/mbcache.c      2003-03-07 16:24:07.000000000 +0100

                list_add(&ce->e_indexes[n].o_list,
                         &cache->c_indexes_hash[n][bucket]);
        }
+       error = 0;
 out:
        spin_unlock(&mb_cache_spinlock);
        return error;
Extended attributes debug macro oops

------------------------------------------------------------------------------
Oops in one of the xattr debug statements: The old_bh variable is NULL
if an inode that previously had no EA's assigned would share an EA block
with another inode. (This was hidden by the xattr sharing bug).

--- linux-2.5.64.orig/fs/ext2/xattr.c   2003-03-07 16:23:01.000000000 +0100

                         * The old block will be released after updating
                         * the inode.
                         */
-                       ea_bdebug(old_bh, "reusing block %ld",
+                       ea_bdebug(new_bh, "reusing block %ld",
                                new_bh->b_blocknr);

                        error = -EDQUOT;
--- linux-2.5.64.orig/fs/ext3/xattr.c   2003-03-07 16:22:55.000000000 +0100

                         * The old block will be released after updating
                         * the inode.
                         */
-                       ea_bdebug(old_bh, "reusing block %ld",
+                       ea_bdebug(new_bh, "reusing block %ld",
                                new_bh->b_blocknr);

                        error = -EDQUOT;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Extended attribute sharing and debug macro typo in 2.5.64

Post by Andreas Gruenbache » Sat, 08 Mar 2003 18:00:22


Hello Andrew,

[Oops, I mistyped your email address.]

Tony Dziedzic has found two bugs in the extended attributes code. Patches with
explanations are attached. Could you please fold this into one of your next
updates?

Thanks,
Andreas.

------------------------------------------------------------------------------
Extended attribute sharing on ext2/ext3 not working

The mb_cache_entry_insert function constantly returns an -EBUSY error
instead of 0, which causes the xattr cache that is needed by the xattr
sharing mechanism on ext2/ext3 to not share anything. This patch fixes
the problem. (It is possible that after applying this fix we will hit
bugs in code that wasn't used before.)

--- linux-2.5.64.orig/fs/mbcache.c      2003-03-07 16:24:07.000000000 +0100

                list_add(&ce->e_indexes[n].o_list,
                         &cache->c_indexes_hash[n][bucket]);
        }
+       error = 0;
 out:
        spin_unlock(&mb_cache_spinlock);
        return error;
Extended attributes debug macro oops

------------------------------------------------------------------------------
Oops in one of the xattr debug statements: The old_bh variable is NULL
if an inode that previously had no EA's assigned would share an EA block
with another inode. (This was hidden by the xattr sharing bug).

--- linux-2.5.64.orig/fs/ext2/xattr.c   2003-03-07 16:23:01.000000000 +0100

                         * The old block will be released after updating
                         * the inode.
                         */
-                       ea_bdebug(old_bh, "reusing block %ld",
+                       ea_bdebug(new_bh, "reusing block %ld",
                                new_bh->b_blocknr);

                        error = -EDQUOT;
--- linux-2.5.64.orig/fs/ext3/xattr.c   2003-03-07 16:22:55.000000000 +0100

                         * The old block will be released after updating
                         * the inode.
                         */
-                       ea_bdebug(old_bh, "reusing block %ld",
+                       ea_bdebug(new_bh, "reusing block %ld",
                                new_bh->b_blocknr);

                        error = -EDQUOT;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. [2.5.64] kexec for 2.5.64 available

Eric,

I have a patch set available for kexec for 2.5.64.  I haved checked it
on a 1-way system, the 2-way test is pending an fsck of a partition that
was unfortunately eaten earlier today.

The patches are available for download from OSDL's patch lifecycle
manager (PLM):

Patch Stack for kexec for 2.5.64:

        kexec base for 2.5.64 (based upon 2.5.63 version)
        http://www.osdl.org/cgi-bin/plm?module=patch_info&patch_id=1656

        kexec hwfixes for 2.5.64 (based upon 2.5.63 version)
        http://www.osdl.org/cgi-bin/plm?module=patch_info&patch_id=1657

        kexec usemm change (allowed 2-way to previously work for me):
        http://www.osdl.org/cgi-bin/plm?module=patch_info&patch_id=1658

        optional change to defconfig to CONFIG_KEXEC=y
        http://www.osdl.org/cgi-bin/plm?module=patch_info&patch_id=1659

The patches are also available (with matching kexec-tools-1.8 --
unchanged from the 2.5.63 version) here:
http://www.osdl.org/archive/andyp/kexec/2.5.64/

Regards,
Andy

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

2. Routing troubles (RedHat 6.1/Wanpipe)

3. 2.5.64-ac3: fix a typo in ide-default.c

4. Sendmail configs....

5. 2.5.64-mm4 looking good (Re: Oops in 2.5.64bk3)

6. counting incoming/outgoing bytes

7. Oops: 2.5.64 check_obj_poison for 'size-64'

8. AIX 4.2 ppp link to NT, and pointers ??

9. Complete support PC-9800 for 2.5.64-ac4 (11/11) SCSI

10. (0/5) Brlock removal (2.5.64)

11. 2.5.64: nfs module unknown symbols

12. 2.5.64-mm2->4 hangs on contest

13. WimMark I for 2.5.64-mm1