ext4: cleanup transaction restarts during inode deletion
authorTahsin Erdogan <tahsin@google.com>
Thu, 22 Jun 2017 15:42:09 +0000 (11:42 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 22 Jun 2017 15:42:09 +0000 (11:42 -0400)
commit30a7eb970c3aae6f1b74b2edea896fdca1cbea38
tree28f27a320e3f0db679e8629ea201c053c871c159
parent02749a4c20827649859bf7e2435f1b238c24f935
ext4: cleanup transaction restarts during inode deletion

During inode deletion, the number of journal credits that will be
needed is hard to determine.  For that reason we have journal
extend/restart calls in several places.  Whenever a transaction is
restarted, filesystem must be in a consistent state because there is
no atomicity guarantee beyond a restart call.

Add ext4_xattr_ensure_credits() helper function which takes care of
journal extend/restart logic.  It also handles getting jbd2 write
access and dirty metadata calls.  This function is called at every
iteration of handling an ea_inode reference.

Signed-off-by: Tahsin Erdogan <tahsin@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/inode.c
fs/ext4/xattr.c
fs/ext4/xattr.h