| To: | Dave Chinner <david@xxxxxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH 1/8] xfs: Pull EFI/EFD handling out from under the AIL lock |
| From: | Christoph Hellwig <hch@xxxxxxxxxxxxx> |
| Date: | Tue, 30 Nov 2010 15:17:34 -0500 |
| Cc: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1290993152-20999-2-git-send-email-david@xxxxxxxxxxxxx> |
| References: | <1290993152-20999-1-git-send-email-david@xxxxxxxxxxxxx> <1290993152-20999-2-git-send-email-david@xxxxxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
- xfs_efi_init needs to initialize efi_next_extent using ATOMIC_INIT
- 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.
- 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.
- Why is XFS_EFI_COMMITTED cleared in xlog_recover_do_efi_trans,
where it can't ever be set?
- can you please add a shared helper for xfs_efi_item_unpin and
xfs_efi_release, ala:
STATIC void
__xfs_efi_release(
xfs_efi_log_item_t *efip)
{
if (!test_and_clear_bit(XFS_EFI_COMMITTED, &efip->efi_flags)) {
struct xfs_ail *ailp = efip->efi_item.li_ailp;
spin_lock(&ailp->xa_lock);
/* xfs_trans_ail_delete() drops the AIL lock. */
xfs_trans_ail_delete(ailp, &efip->efi_item);
xfs_efi_item_free(efip);
}
so that it's obvious they do the same release operation?
|
| Previous by Date: | Re: [PATCH 2/2] xfs: don't truncate prealloc from frequently accessed inodes, Christoph Hellwig |
|---|---|
| Next by Date: | Re: [PATCH 2/8] xfs: clean up xfs_ail_delete(), Christoph Hellwig |
| Previous by Thread: | [PATCH 1/8] xfs: Pull EFI/EFD handling out from under the AIL lock, Dave Chinner |
| Next by Thread: | [PATCH 6/8] xfs: remove all the inodes on a buffer from the AIL in bulk, Dave Chinner |
| Indexes: | [Date] [Thread] [Top] [All Lists] |