diff options
| author | Stephen Rothwell <sfr@canb.auug.org.au> | 2011-07-25 13:59:46 -0400 | 
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2011-07-25 14:53:52 -0400 | 
| commit | 5f00bcb38ef9a980a33c6dbdc0044964b05f22dd (patch) | |
| tree | 3175fb9375aecb50bde1be0bf4fa8aa8155131d6 /Documentation/filesystems/porting | |
| parent | 34006cee28f7344f9557a4be3816c7891b1bbab1 (diff) | |
| parent | b6844e8f64920cdee620157252169ba63afb0c89 (diff) | |
Merge branch 'master' into devel and apply fixup from Stephen Rothwell:
vfs/nfs: fixup for nfs_open_context change
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'Documentation/filesystems/porting')
| -rw-r--r-- | Documentation/filesystems/porting | 27 | 
1 files changed, 24 insertions, 3 deletions
| diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index 6e29954851a..7f8861d341e 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting @@ -400,10 +400,31 @@ a file off.  --  [mandatory] - --- -[mandatory]  	->get_sb() is gone.  Switch to use of ->mount().  Typically it's just  a matter of switching from calling get_sb_... to mount_... and changing the  function type.  If you were doing it manually, just switch from setting ->mnt_root  to some pointer to returning that pointer.  On errors return ERR_PTR(...). + +-- +[mandatory] +	->permission(), generic_permission() and ->check_acl() have lost flags +argument; instead of passing IPERM_FLAG_RCU we add MAY_NOT_BLOCK into mask. +	generic_permission() has also lost the check_acl argument; if you want +non-NULL to be used for that inode, put it into ->i_op->check_acl. + +-- +[mandatory] +	If you implement your own ->llseek() you must handle SEEK_HOLE and +SEEK_DATA.  You can hanle this by returning -EINVAL, but it would be nicer to +support it in some way.  The generic handler assumes that the entire file is +data and there is a virtual hole at the end of the file.  So if the provided +offset is less than i_size and SEEK_DATA is specified, return the same offset. +If the above is true for the offset and you are given SEEK_HOLE, return the end +of the file.  If the offset is i_size or greater return -ENXIO in either case. + +[mandatory] +	If you have your own ->fsync() you must make sure to call +filemap_write_and_wait_range() so that all dirty pages are synced out properly. +You must also keep in mind that ->fsync() is not called with i_mutex held +anymore, so if you require i_mutex locking you must make sure to take it and +release it yourself. | 
