summaryrefslogtreecommitdiffstats
path: root/fs/nilfs2/direct.h
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-06-20 13:40:46 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-06-22 16:09:45 -0400
commit670dc2833d144375eac36ad74111495a825a9288 (patch)
tree12d5d3a925da562a6ba0497c47f4b55c71ff545b /fs/nilfs2/direct.h
parentc1c3daee97498f5d74bfd23531cfe23c8e14a619 (diff)
downloadblackbird-op-linux-670dc2833d144375eac36ad74111495a825a9288.tar.gz
blackbird-op-linux-670dc2833d144375eac36ad74111495a825a9288.zip
netlink: advertise incomplete dumps
Consider the following situation: * a dump that would show 8 entries, four in the first round, and four in the second * between the first and second rounds, 6 entries are removed * now the second round will not show any entry, and even if there is a sequence/generation counter the application will not know To solve this problem, add a new flag NLM_F_DUMP_INTR to the netlink header that indicates the dump wasn't consistent, this flag can also be set on the MSG_DONE message that terminates the dump, and as such above situation can be detected. To achieve this, add a sequence counter to the netlink callback struct. Of course, netlink code still needs to use this new functionality. The correct way to do that is to always set cb->seq when a dumpit callback is invoked and call nl_dump_check_consistent() for each new message. The core code will also call this function for the final MSG_DONE message. To make it usable with generic netlink, a new function genlmsg_nlhdr() is needed to obtain the netlink header from the genetlink user header. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'fs/nilfs2/direct.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud