From: Al Viro Date: Sun, 24 Jun 2012 05:56:45 +0000 (+0400) Subject: switch fput to task_work_add X-Git-Tag: v3.6-rc1~152^2~39 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a9d4b024a3102fc083c925c242d98ac27b1c5f6;p=pandora-kernel.git switch fput to task_work_add ... and schedule_work() for interrupt/kernel_thread callers (and yes, now it *is* OK to call from interrupt). We are guaranteed that __fput() will be done before we return to userland (or exit). Note that for fput() from a kernel thread we get an async behaviour; it's almost always OK, but sometimes you might need to have __fput() completed before you do anything else. There are two mechanisms for that - a general barrier (flush_delayed_fput()) and explicit __fput_sync(). Both should be used with care (as was the case for fput() from kernel threads all along). See comments in fs/file_table.c for details. Signed-off-by: Al Viro --- Reading git-diff-tree failed