aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/porting
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/filesystems/porting')
-rw-r--r--Documentation/filesystems/porting10
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting
index 0eeb3954dea3..6b96773e27cb 100644
--- a/Documentation/filesystems/porting
+++ b/Documentation/filesystems/porting
@@ -411,3 +411,13 @@ to some pointer to returning that pointer. On errors return ERR_PTR(...).
411argument; instead of passing IPERM_FLAG_RCU we add MAY_NOT_BLOCK into mask. 411argument; instead of passing IPERM_FLAG_RCU we add MAY_NOT_BLOCK into mask.
412 generic_permission() has also lost the check_acl argument; if you want 412 generic_permission() has also lost the check_acl argument; if you want
413non-NULL to be used for that inode, put it into ->i_op->check_acl. 413non-NULL to be used for that inode, put it into ->i_op->check_acl.
414
415--
416[mandatory]
417 If you implement your own ->llseek() you must handle SEEK_HOLE and
418SEEK_DATA. You can hanle this by returning -EINVAL, but it would be nicer to
419support it in some way. The generic handler assumes that the entire file is
420data and there is a virtual hole at the end of the file. So if the provided
421offset is less than i_size and SEEK_DATA is specified, return the same offset.
422If the above is true for the offset and you are given SEEK_HOLE, return the end
423of the file. If the offset is i_size or greater return -ENXIO in either case.