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 xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs