Skip to content

xfs: log space validation

Jeff Liu linux-xfs 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v2 Latest8 patches 10 repliesIn review

v1 from the cover letter

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8xfs: Introduce a new structure to hold transaction reservation itemsfs/xfs/xfs_mount.h fs/xfs/xfs_trans.c fs/xfs/xfs_trans.h+171 -851 reply
2/8xfs: Introduce tr_fsyncts to m_reservationfs/xfs/xfs_mount.h fs/xfs/xfs_trans.c fs/xfs/xfs_trans.h+3 -10 replies
3/8xfs: Make writeid transaction use tr_writeidfs/xfs/xfs_trans.h+1 -10 replies
4/8xfs: efactor xfs_trans_reserve() interfacefs/xfs/xfs_aops.c fs/xfs/xfs_attr.c fs/xfs/xfs_bmap.c +19 more+153 -1960 replies
5/8xfs: Get rid of all XFS_XXX_LOG_RES() macrofs/xfs/xfs_trans.h+0 -440 replies
6/8xfs: Refactor xfs_ticket_alloc() to extract a new helperfs/xfs/xfs_log.c fs/xfs/xfs_log.h+36 -180 replies
7/8xfs: Add xfs_log_rlimit.[c|h]fs/xfs/Makefile fs/xfs/xfs_log_rlimit.c fs/xfs/xfs_log_rlimit.h +1 more+178 -16 replies
8/8xfs: Validate log space at mount timefs/xfs/xfs_log.c+12 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH v2 0/8] xfs: log space validation

Hello,

This is version 2 of fix log space calculation if the log stripe unit is specified.

I changed the subject in this round since there are many changes belong to the log space reservation interface adjustment.

Major changes of v2->v1:
- The interface of xfs_trans_reserve() has been changed to:
xfs_trans_reserve(struct xfs_trans *tp, xfs_trans_res *tres, int blocks, int rtextents);

- Introduce a new inline helper m_tresp() to fetch pointer of mp->m_reservations structure, so that we don't need a big code change if someday we rename m_reservations to another name.

- Introduce xfs_log_rlimit.[c|h] to isolate the maximum transaction log space validation related routines. There are two functions can be shared with the user space which are:
void xfs_log_adjust_max_attrsetm_res();
void xfs_log_get_max_trans_res();

- Calculate the maximum length in bytes that would be required for a local attribute value as large attributes out of line are not logged according to Dave's advise.

- Don't return if the given log space at mount time is too small, drop a message via syslog in critical level instead.

Testing:
xfstests/generic and xfs specified test cases(except a dozens of cases need a tap device or xfsdump) works without panic.

[PATCH 1/8] xfs: Introduce a new structure to hold transaction reservation items [PATCH 2/8] xfs: Introduce tr_fsyncts to m_reservation
[PATCH 3/8] xfs: Make writeid transaction use tr_writeid
[PATCH 4/8] xfs: Refactor xfs_trans_reserve() interface
[PATCH 5/8] xfs: Get rid of all XFS_XXX_LOG_RES() macros
[PATCH 6/8] xfs: Refactor xfs_ticket_alloc() to extract a new helper [PATCH 7/8] xfs: Add xfs_log_rlimit.[c|h]
[PATCH 8/8] xfs: Validate log space at mount time

The patches of user space sync up with those kernel space change will be sent out later as I have to go out to deal with a urgent thing right now.

v1:
http://comments.gmane.org/gmane.comp.file-systems.xfs.general/52201

Thanks,
-Jeff

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs