Skip to content

Commit

Permalink
[XFS] Add lock annotations to xfs_trans_update_ail and
Browse files Browse the repository at this point in the history
xfs_trans_delete_ail

xfs_trans_update_ail and xfs_trans_delete_ail get called with the AIL lock
held, and release it. Add lock annotations to these two functions so that
sparse can check callers for lock pairing, and so that sparse will not
complain about these functions since they intentionally use locks in this
manner.

SGI-PV: 954580
SGI-Modid: xfs-linux-melb:xfs-kern:26807a

Signed-off-by: Josh Triplett <[email protected]>
Signed-off-by: Nathan Scott <[email protected]>
Signed-off-by: Tim Shimmin <[email protected]>
  • Loading branch information
joshtriplett authored and Tim Shimmin committed Sep 28, 2006
1 parent 68c3271 commit 22d91f6
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
4 changes: 2 additions & 2 deletions fs/xfs/xfs_trans_ail.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ xfs_trans_update_ail(
xfs_mount_t *mp,
xfs_log_item_t *lip,
xfs_lsn_t lsn,
unsigned long s)
unsigned long s) __releases(mp->m_ail_lock)
{
xfs_ail_entry_t *ailp;
xfs_log_item_t *dlip=NULL;
Expand Down Expand Up @@ -328,7 +328,7 @@ void
xfs_trans_delete_ail(
xfs_mount_t *mp,
xfs_log_item_t *lip,
unsigned long s)
unsigned long s) __releases(mp->m_ail_lock)
{
xfs_ail_entry_t *ailp;
xfs_log_item_t *dlip;
Expand Down
12 changes: 7 additions & 5 deletions fs/xfs/xfs_trans_priv.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,13 @@ xfs_log_busy_slot_t *xfs_trans_add_busy(xfs_trans_t *tp,
/*
* From xfs_trans_ail.c
*/
void xfs_trans_update_ail(struct xfs_mount *,
struct xfs_log_item *, xfs_lsn_t,
unsigned long);
void xfs_trans_delete_ail(struct xfs_mount *,
struct xfs_log_item *, unsigned long);
void xfs_trans_update_ail(struct xfs_mount *mp,
struct xfs_log_item *lip, xfs_lsn_t lsn,
unsigned long s)
__releases(mp->m_ail_lock);
void xfs_trans_delete_ail(struct xfs_mount *mp,
struct xfs_log_item *lip, unsigned long s)
__releases(mp->m_ail_lock);
struct xfs_log_item *xfs_trans_first_ail(struct xfs_mount *, int *);
struct xfs_log_item *xfs_trans_next_ail(struct xfs_mount *,
struct xfs_log_item *, int *, int *);
Expand Down

0 comments on commit 22d91f6

Please sign in to comment.