Richard Yao 0f37d0c8be Linux 3.11 compat: fops->iterate()
Commit torvalds/linux@2233f31aad
replaced ->readdir() with ->iterate() in struct file_operations.
All filesystems must now use the new ->iterate method.

To handle this the code was reworked to use the new ->iterate
interface.  Care was taken to keep the majority of changes
confined to the ZPL layer which is already Linux specific.
However, minor changes were required to the common zfs_readdir()
function.

Compatibility with older kernels was accomplished by adding
versions of the trivial dir_emit* helper functions.  Also the
various *_readdir() functions were reworked in to wrappers
which create a dir_context structure to pass to the new
*_iterate() functions.

Unfortunately, the new dir_emit* functions prevent us from
passing a private pointer to the filldir function.  The xattr
directory code leveraged this ability through zfs_readdir()
to generate the list of xattr names.  Since we can no longer
use zfs_readdir() a simplified zpl_xattr_readdir() function
was added to perform the same task.

Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #1653
Issue #1591
2013-08-15 16:19:07 -07:00
..
2010-08-31 13:41:27 -07:00
2013-04-24 16:18:53 -07:00
2011-04-19 10:10:47 -07:00
2012-10-14 13:06:48 -07:00
2013-08-15 16:19:07 -07:00
2013-03-18 15:33:17 -07:00
2013-04-02 10:48:26 -07:00
2013-03-18 15:33:17 -07:00
2010-08-31 13:41:27 -07:00
2010-08-31 13:41:27 -07:00
2010-08-31 13:41:27 -07:00
2011-01-28 12:45:19 -08:00
2010-08-31 13:41:27 -07:00
2013-03-06 15:46:41 -08:00
2013-04-24 16:18:55 -07:00
2013-04-24 16:18:49 -07:00