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
..
2013-05-01 17:05:52 -07:00
2013-07-09 10:41:18 -07:00
2013-08-08 13:27:21 -07:00
2013-01-08 10:35:43 -08:00
2013-01-08 10:35:35 -08:00
2012-10-29 08:57:45 -07:00
2011-05-04 10:02:37 -07:00
2013-01-25 15:07:40 -08:00
2012-08-27 12:01:37 -07:00
2013-01-08 10:35:35 -08:00
2013-03-13 13:42:16 -07:00
2013-06-19 16:22:39 -07:00
2012-03-07 16:28:00 -08:00
2013-05-06 14:05:42 -07:00
2013-05-06 12:39:34 -07:00
2013-06-19 16:22:39 -07:00
2011-02-10 09:21:43 -08:00
2013-05-01 17:05:52 -07:00
2011-03-02 11:43:50 -08:00
2013-01-08 10:35:43 -08:00
2013-06-19 15:14:10 -07:00
2012-02-27 14:08:17 -08:00
2011-02-10 09:27:21 -08:00
2013-05-01 17:05:52 -07:00
2011-11-28 15:45:51 -08:00
2013-08-15 16:19:07 -07:00
2013-05-06 12:39:34 -07:00
2013-08-15 16:19:07 -07:00