aboutsummaryrefslogtreecommitdiff
path: root/fs
AgeCommit message (Collapse)AuthorFilesLines
2013-10-24cifs: rcu-delay unload_nls() and freeing sbiAl Viro2-2/+9
makes ->d_hash(), ->d_compare() and ->permission() safety in RCU mode independent from vfsmount_lock. Signed-off-by: Al Viro <[email protected]>
2013-10-24autofs4: make freeing sbi rcu-delayedAl Viro2-9/+5
makes ->d_managed() safety in RCU mode independent from vfsmount_lock Signed-off-by: Al Viro <[email protected]>
2013-10-24adfs: delayed freeing of sbiAl Viro2-5/+7
makes ->d_hash() and ->d_compare() safety in RCU mode independent from vfsmount_lock. Signed-off-by: Al Viro <[email protected]>
2013-10-24hpfs: make freeing sbi and codetables rcu-delayedAl Viro2-14/+15
makes ->d_hash() and ->d_compare() safety in RCU mode independent from vfsmount_lock Signed-off-by: Al Viro <[email protected]>
2013-10-24make freeing super_block rcu-delayedAl Viro1-1/+1
Signed-off-by: Al Viro <[email protected]>
2013-10-24vfs: introduce d_instantiate_no_diralias()Miklos Szeredi4-40/+32
...which just returns -EBUSY if a directory alias would be created. This is to be used by fuse mkdir to make sure that a buggy or malicious userspace filesystem doesn't do anything nasty. Previously fuse used a private mutex for this purpose, which can now go away. Signed-off-by: Miklos Szeredi <[email protected]>
2013-10-24move taking vfsmount_lock down into prepend_path()Al Viro1-9/+2
Signed-off-by: Al Viro <[email protected]>
2013-10-24split __lookup_mnt() in two functionsAl Viro4-25/+30
Instead of passing the direction as argument (and checking it on every step through the hash chain), just have separate __lookup_mnt() and __lookup_mnt_last(). And use the standard iterators... Signed-off-by: Al Viro <[email protected]>
2013-10-24uninline destroy_super(), consolidate alloc_super()Al Viro1-120/+86
Signed-off-by: Al Viro <[email protected]>
2013-10-24isofs: don't pass dentry to isofs_hash{i,}_common()Al Viro1-6/+6
Signed-off-by: Al Viro <[email protected]>
2013-10-24new helpers: lock_mount_hash/unlock_mount_hashAl Viro5-54/+64
aka br_write_{lock,unlock} of vfsmount_lock. Inlines in fs/mount.h, vfsmount_lock extern moved over there as well. Signed-off-by: Al Viro <[email protected]>
2013-10-24don't bother with vfsmount_lock in mounts_poll()Al Viro1-4/+4
wake_up_interruptible/poll_wait provide sufficient barriers; just use ACCESS_ONCE() to fetch ns->event and that's it. Signed-off-by: Al Viro <[email protected]>
2013-10-24namespace.c: get rid of mnt_ghostsAl Viro3-18/+9
Signed-off-by: Al Viro <[email protected]>
2013-10-24fold dup_mnt_ns() into its only surviving callerAl Viro1-30/+18
should've been done 6 years ago... Signed-off-by: Al Viro <[email protected]>
2013-10-24mnt_set_expiry() doesn't need vfsmount_lockAl Viro1-2/+0
->mnt_expire is protected by namespace_sem Signed-off-by: Al Viro <[email protected]>
2013-10-24finish_automount() doesn't need vfsmount_lock for removal from expiry listAl Viro1-2/+0
Signed-off-by: Al Viro <[email protected]>
2013-10-24fs/namespace.c: bury long-dead defineAl Viro1-2/+0
MNT_WRITER_UNDERFLOW_LIMIT has been missed 4 years ago when it became unused. Signed-off-by: Al Viro <[email protected]>
2013-10-24fold mntfree() into mntput_no_expire()Al Viro1-23/+16
Signed-off-by: Al Viro <[email protected]>
2013-10-24do_remount(): pull touch_mnt_namespace() upAl Viro1-5/+1
... and don't bother with dropping and regaining vfsmount_lock Signed-off-by: Al Viro <[email protected]>
2013-10-24dup_mnt_ns(): get rid of pointless grabbing of vfsmount_lockAl Viro1-2/+0
mnt_list is protected by namespace_sem, not vfsmount_lock Signed-off-by: Al Viro <[email protected]>
2013-10-24fs_is_visible only needs namespace_sem held sharedAl Viro1-2/+2
Signed-off-by: Al Viro <[email protected]>
2013-10-24initialize namespace_sem staticallyAl Viro1-3/+1
Signed-off-by: Al Viro <[email protected]>
2013-10-24file->f_op is never NULL...Al Viro23-87/+67
Signed-off-by: Al Viro <[email protected]>
2013-10-24consolidate the reassignments of ->f_op in ->open() instancesAl Viro1-2/+4
Signed-off-by: Al Viro <[email protected]>
2013-10-24put_mnt_ns(): use drop_collected_mounts()Al Viro1-5/+1
... rather than open-coding it Signed-off-by: Al Viro <[email protected]>
2013-10-24ncpfs: switch to %p[dD]Al Viro2-43/+24
Signed-off-by: Al Viro <[email protected]>
2013-10-24ubifs: switch to %pdAl Viro3-34/+29
Signed-off-by: Al Viro <[email protected]>
2013-10-24nfsd: switch to %p[dD]Al Viro5-37/+31
Signed-off-by: Al Viro <[email protected]>
2013-10-24nfs: use %p[dD] instead of open-coded (and often racy) equivalentsAl Viro11-186/+119
Signed-off-by: Al Viro <[email protected]>
2013-10-24befs: split symlink iops in two - for short and long symlinks resp.Al Viro1-30/+31
Signed-off-by: Al Viro <[email protected]>
2013-10-24new helper: kfree_put_link()Al Viro7-38/+14
duplicated to hell and back... Signed-off-by: Al Viro <[email protected]>
2013-10-24libfs: get exports to definitions of objects being exported...Al Viro1-35/+34
Signed-off-by: Al Viro <[email protected]>
2013-10-24ecryptfs: ->lower_path.dentry is never NULLAl Viro1-2/+1
... on anything found via ->d_fsdata Signed-off-by: Al Viro <[email protected]>
2013-10-24ecryptfs: get rid of ecryptfs_set_dentry_lower{,_mnt}Al Viro3-18/+3
Signed-off-by: Al Viro <[email protected]>
2013-10-24ecryptfs: don't leave RCU pathwalk immediatelyAl Viro2-15/+20
If the underlying dentry doesn't have ->d_revalidate(), there's no need to force dropping out of RCU mode. All we need for that is to make freeing ecryptfs_dentry_info RCU-delayed. Signed-off-by: Al Viro <[email protected]>
2013-10-24ecryptfs: check DCACHE_OP_REVALIDATE instead of ->d_opAl Viro1-1/+1
Signed-off-by: Al Viro <[email protected]>
2013-10-249p: make v9fs_cache_inode_{get,put,set}_cookie empty inlines for !9P_CACHEFSAl Viro4-12/+12
Signed-off-by: Al Viro <[email protected]>
2013-10-24eCryptfs: fix 32 bit corruption issueColin Ian King1-1/+1
Shifting page->index on 32 bit systems was overflowing, causing data corruption of > 4GB files. Fix this by casting it first. https://launchpad.net/bugs/1243636 Signed-off-by: Colin Ian King <[email protected]> Reported-by: Lars Duesing <[email protected]> Cc: [email protected] # v3.11+ Signed-off-by: Tyler Hicks <[email protected]>
2013-10-23xfs: split xfs_rtalloc.c for userspace sanityDave Chinner4-1248/+1292
xfs_rtalloc.c is partially shared with userspace. Split the file up into two parts - one that is kernel private and the other which is wholly shared with userspace. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: decouple inode and bmap btree header filesDave Chinner73-583/+403
Currently the xfs_inode.h header has a dependency on the definition of the BMAP btree records as the inode fork includes an array of xfs_bmbt_rec_host_t objects in it's definition. Move all the btree format definitions from xfs_btree.h, xfs_bmap_btree.h, xfs_alloc_btree.h and xfs_ialloc_btree.h to xfs_format.h to continue the process of centralising the on-disk format definitions. With this done, the xfs inode definitions are no longer dependent on btree header files. The enables a massive culling of unnecessary includes, with close to 200 #include directives removed from the XFS kernel code base. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Ben Myers <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: decouple log and transaction headersDave Chinner75-239/+276
xfs_trans.h has a dependency on xfs_log.h for a couple of structures. Most code that does transactions doesn't need to know anything about the log, but this dependency means that they have to include xfs_log.h. Decouple the xfs_trans.h and xfs_log.h header files and clean up the includes to be in dependency order. In doing this, remove the direct include of xfs_trans_reserve.h from xfs_trans.h so that we remove the dependency between xfs_trans.h and xfs_mount.h. Hence the xfs_trans.h include can be moved to the indicate the actual dependencies other header files have on it. Note that these are kernel only header files, so this does not translate to any userspace changes at all. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Ben Myers <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: remove unused transaction callback variablesDave Chinner1-7/+0
We don't do callbacks at transaction commit time, no do we have any infrastructure to set up or run such callbacks, so remove the variables and typedefs for these operations. If we ever need to add callbacks, we can reintroduce the variables at that time. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Ben Myers <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: split dquot buffer operations outDave Chinner8-266/+303
Parts of userspace want to be able to read and modify dquot buffers (e.g. xfs_db) so we need to split out the reading and writing of these buffers so it is easy to shared code with libxfs in userspace. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: unify directory/attribute format definitionsDave Chinner33-426/+437
The on-disk format definitions for the directory and attribute structures are spread across 3 header files right now, only one of which is dedicated to defining on-disk structures and their manipulation (xfs_dir2_format.h). Pull all the format definitions into a single header file - xfs_da_format.h - and switch all the code over to point at that. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Ben Myers <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-23xfs: create a shared header file for format-related informationDave Chinner54-232/+289
All of the buffer operations structures are needed to be exported for xfs_db, so move them all to a common location rather than spreading them all over the place. They are verifying the on-disk format, so while xfs_format.h might be a good place, it is not part of the on disk format. Hence we need to create a new header file that we centralise these related definitions. Start by moving the bffer operations structures, and then also move all the other definitions that have crept into xfs_log_format.h and xfs_format.h as there was no other shared header file to put them in. Signed-off-by: Dave Chinner <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Ben Myers <[email protected]>
2013-10-22UBIFS: remove unnecessary code in ubifs_garbage_collect[email protected]1-2/+1
In ubifs_garbage_collect,local variable "space_before" calculate twice. In fact, at the beginning of the loop, there is no need to calculate this variable. Calculate it before call "ubifs_garbage_collect_leb" is enough. This patch just remove the unnecessary calculate code. Signed-off-by: wang bo <[email protected]> Acked-by: Brian Norris <[email protected]> Signed-off-by: Artem Bityutskiy <[email protected]>
2013-10-22f2fs: introduce f2fs_kmem_cache_alloc to hide the unfailed, kmem cache ↵Gu Zheng4-41/+35
allocation Introduce the unfailed version of kmem_cache_alloc named f2fs_kmem_cache_alloc to hide the retry routine and make the code a bit cleaner. v2: Fix the wrong use of 'retry' tag pointed out by Gao feng. Use more neat code to remove redundant tag suggested by Haicheng Li. Signed-off-by: Gu Zheng <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
2013-10-22vfs: fix new kernel-doc warningsRandy Dunlap1-8/+7
Move kernel-doc notation to immediately before its function to eliminate kernel-doc warnings introduced by commit db14fc3abcd5 ("vfs: add d_walk()") Warning(fs/dcache.c:1343): No description found for parameter 'data' Warning(fs/dcache.c:1343): No description found for parameter 'dentry' Warning(fs/dcache.c:1343): Excess function parameter 'parent' description in 'check_mount' Signed-off-by: Randy Dunlap <[email protected]> Cc: Miklos Szeredi <[email protected]> Cc: Al Viro <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-10-22fs/namei.c: fix new kernel-doc warningRandy Dunlap1-1/+2
Add @path parameter to fix kernel-doc warning. Also fix a spello/typo. Warning(fs/namei.c:2304): No description found for parameter 'path' Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-10-22f2fs: no need to check other dirty_segmap when the seg has been foundHaicheng Li1-3/+7
Because one dirty seg can only be mapped to one dirty_type. Otherwise, it's a bug. Signed-off-by: Haicheng Li <[email protected]> [Jaegeuk Kim: modify a comment related to this patch] Signed-off-by: Jaegeuk Kim <[email protected]>