Re: [PATCH 1/8] xfs: Pull EFI/EFD handling out from under the AIL lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 30, 2010 at 03:17:34PM -0500, Christoph Hellwig wrote:
> 
>  - xfs_efi_init needs to initialize efi_next_extent using ATOMIC_INIT

OK.

>  - there is a behaviour change about the xfs_trans_del_item call
>    in xfs_efi_item_unpin - before it was protected by the
>    XFS_EFI_CANCELED which was never set, and now it's not.

XFS_EFI_CANCELED has not been set in the code base since
xfs_efi_cancel() was removed back in 2006 by commit
065d312e15902976d256ddaf396a7950ec0350a8 ("[XFS] Remove unused
iop_abort log item operation), and even then xfs_efi_cancel() was
never called. I haven't tracked it back further than that (beyond
git history), but handling of efis in cancelled transactions has
been broken for a long time.

Basically, when we get an IOP_UNPIN(lip, 1); call from
xfs_trans_uncommit() (i.e. remove == 1), if we don't free the log
item descriptor we leak it. IOWs, the new behaviour introduced in
this patch is actually the correct behaviour.

>  - what happened to XFS_EFI_RECOVERED?  You changed it to be indexed
>    for the atomic bit-ops, but it's still used non-atomic in the log
>    recovery code.

Ah, I forgot to convert it.

>  - Why is XFS_EFI_COMMITTED cleared in xlog_recover_do_efi_trans,
>    where it can't ever be set?

It was just a straight transformation. I'll kill it.

>  - can you please add a shared helper for xfs_efi_item_unpin and
>    xfs_efi_release, ala:

Ok. Will do.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux