Commit Graph
100 Commits
Author SHA1 Message Date
Al Viro 4e924a4f53 get rid of nameidata_dentry_drop_rcu() calling nameidata_drop_rcu()
can't happen anymore and didn't work right anyway

Signed-off-by: Al Viro <[email protected]>
2011-02-15 02:26:54 -05:00
Al Viro f60aef7ec6 drop out of RCU in return_reval
... thus killing the need to handle drop-from-RCU in d_revalidate()

Signed-off-by: Al Viro <[email protected]>
2011-02-15 02:26:54 -05:00
Al Viro f5e1c1c1af split do_revalidate() into RCU and non-RCU cases
fixing oopsen in lookup_one_len()

Signed-off-by: Al Viro <[email protected]>
2011-02-15 02:26:54 -05:00
Al Viro 24643087e7 in do_lookup() split RCU and non-RCU cases of need_revalidate
and use unlikely() instead of gotos, for fsck sake...

Signed-off-by: Al Viro <[email protected]>
2011-02-15 02:26:54 -05:00
Al Viro 844a391799 nothing in do_follow_link() is going to see RCU
Signed-off-by: Al Viro <[email protected]>
2011-02-15 02:26:53 -05:00
Al Viro b89b12b462 autofs4: clean ->d_release() and autofs4_free_ino() up
The latter is called only when both ino and dentry are about to
be freed, so cleaning ->d_fsdata and ->dentry is pointless.

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:29 -05:00
Al Viro 26e6c91067 autofs4: split autofs4_init_ino()
split init_ino into new_ino and clean_ino; the former is
what used to be init_ino(NULL, sbi), the latter is for cases
where we passed non-NULL ino.  Lose unused arguments.

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:28 -05:00
Al Viro 5a37db302e autofs4: mkdir and symlink always get a dentry that had passed lookup
... so ->d_fsdata will have been set up before we get there

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:28 -05:00
Al Viro 726a5e0688 autofs4: autofs4_get_inode() doesn't need autofs_info * argument anymore
Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:28 -05:00
Al Viro 0bf71d4d00 autofs4: kill ->size in autofs_info
It's used only to pass the length of symlink body to
autofs4_get_inode() in autofs4_dir_symlink().  We can
bloody well set inode->i_size in autofs4_dir_symlink()
directly and be done with that.

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:28 -05:00
Al Viro 09f12c03fa autofs4: pass mode to autofs4_get_inode() explicitly
In all cases we'd set inf->mode to know value just before
passing it to autofs4_get_inode().  That kills the need
to store it in autofs_info and pass it to autofs_init_ino()

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:27 -05:00
Al Viro 14a2f00bde autofs4: autofs4_mkroot() is not different from autofs4_init_ino()
Kill it.  Mind you, it's been an obfuscated call of autofs4_init_ino()
ever since 2.3.99pre6-4...

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:27 -05:00
Al Viro 292c5ee802 autofs4: keep symlink body in inode->i_private
gets rid of all ->free()/->u.symlink machinery in autofs; we simply
keep symlink bodies in inode->i_private and free them in ->evict_inode().

Acked-by: Ian Kent <[email protected]>
Signed-off-by: Al Viro <[email protected]>
2011-01-18 01:21:27 -05:00
Al Viro b1e75df45a tidy up around finish_automount()
do_add_mount() and mnt_clear_expiry() are not needed outside of
namespace.c anymore, now that namei has finish_automount() to
use.

Signed-off-by: Al Viro <[email protected]>
2011-01-17 01:47:59 -05:00
Al Viro 15f9a3f3e1 don't drop newmnt on error in do_add_mount()
That gets rid of the kludge in finish_automount() - we need
to keep refcount on the vfsmount as-is until we evict it from
expiry list.

Signed-off-by: Al Viro <[email protected]>
2011-01-17 01:41:58 -05:00
Al Viro 19a167af7c Take the completion of automount into new helper
... and shift it from namei.c to namespace.c

Signed-off-by: Al Viro <[email protected]>
2011-01-17 01:35:23 -05:00
Al Viro 7e3d0eb0b0 VFS: Fix UP compile error in fs/namespace.c
mnt_longterm is there only on SMP

Reported-and-tested-by: Joachim Eastwood <[email protected]>
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2011-01-16 14:59:45 -08:00
Al Viro f03c65993b sanitize vfsmount refcounting changes
Instead of splitting refcount between (per-cpu) mnt_count
and (SMP-only) mnt_longrefs, make all references contribute
to mnt_count again and keep track of how many are longterm
ones.

Accounting rules for longterm count:
	* 1 for each fs_struct.root.mnt
	* 1 for each fs_struct.pwd.mnt
	* 1 for having non-NULL ->mnt_ns
	* decrement to 0 happens only under vfsmount lock exclusive

That allows nice common case for mntput() - since we can't drop the
final reference until after mnt_longterm has reached 0 due to the rules
above, mntput() can grab vfsmount lock shared and check mnt_longterm.
If it turns out to be non-zero (which is the common case), we know
that this is not the final mntput() and can just blindly decrement
percpu mnt_count.  Otherwise we grab vfsmount lock exclusive and
do usual decrement-and-check of percpu mnt_count.

For fs_struct.c we have mnt_make_longterm() and mnt_make_shortterm();
namespace.c uses the latter in places where we don't already hold
vfsmount lock exclusive and opencodes a few remaining spots where
we need to manipulate mnt_longterm.

Note that we mostly revert the code outside of fs/namespace.c back
to what we used to have; in particular, normal code doesn't need
to care about two kinds of references, etc.  And we get to keep
the optimization Nick's variant had bought us...

Signed-off-by: Al Viro <[email protected]>
2011-01-16 13:47:07 -05:00
Al Viro 7b8a53fd81 fix old umount_tree() breakage
Expiry-related code calls umount_tree() several times with
the same list to collect vfsmounts to.  Which is fine, except
that umount_tree() implicitly assumed that the list would
be empty on each call - it moves the victims over there and
then iterates through the list kicking them out.  It's *almost*
idempotent, so everything nearly worked.  However, mnt->ghosts
handling (and thus expirability checks) had been broken - that
part was not idempotent...

The fix is trivial - use local temporary list, splice it to
the the collector list when we are through.

Signed-off-by: Al Viro <[email protected]>
2011-01-16 13:47:01 -05:00
Al Viro 1a8edf40e7 do_lookup() fix
do_lookup() has a path leading from LOOKUP_RCU case to non-RCU
crossing of mountpoints, which breaks things badly.  If we
hit need_revalidate: and do nothing in there, we need to come
back into LOOKUP_RCU half of things, not to done: in non-RCU
one.

Signed-off-by: Al Viro <[email protected]>
2011-01-15 20:03:39 -05:00
Al Viro c72a04e347 cgroup_fs: fix cgroup use of simple_lookup()
cgroup can't use simple_lookup(), since that'd override its desired ->d_op.

Tested-by: Li Zefan <[email protected]>
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2011-01-14 08:07:48 -08:00
Al Viro cccb5a1e69 fix signedness mess in rw_verify_area() on 64bit architectures
... and clean the unsigned-f_pos code, while we are at it.

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:06:58 -05:00
Al Viro 66cb76666d sanitize ecryptfs ->mount()
kill ecryptfs_read_super(), reorder code allowing to use
normal d_alloc_root() instead of opencoding it.

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:04:37 -05:00
Al Viro d61dcce297 switch afs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:04:20 -05:00
Al Viro 32c419d95f move internal-only parts of ncpfs headers to fs/ncpfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:43 -05:00
Al Viro 0378c4051a switch ncpfs
merge dentry_operations for root and non-root

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:43 -05:00
Al Viro 98cd3fb0a2 switch 9p
here we actually *want* ->d_op for root; setting it allows to get rid
of kludge in v9fs_kill_super() since now we have proper ->d_release()
for root and don't need to call it manually.

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:43 -05:00
Al Viro c74a1cbb3c pass default dentry_operations to mount_pseudo()
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:43 -05:00
Al Viro f772c4a6a3 switch hostfs
->d_delete() doesn't matter for s_root anyway

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:42 -05:00
Al Viro a129880daf switch affs
either d_op instance would work for root, actually...

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:42 -05:00
Al Viro d463a0c4b5 switch configfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:03:12 -05:00
Al Viro 31a203df9c take coda-private headers out of include/linux
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:48 -05:00
Al Viro 9501e4c48e switch coda
Coda ->d_revalidate() actually checks for root, ->d_delete() is irrelevant.
So we can use the same d_op for all coda dentries

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:48 -05:00
Al Viro b5c7d208ca convert smbfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:47 -05:00
Al Viro 43d344d772 switch hpfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:47 -05:00
Al Viro 0df6a63f87 switch cgroup
switching it to s_d_op allows to kill the cgroup_lookup() kludge.

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:47 -05:00
Al Viro af53d29ac1 switch btrfs, close races
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:47 -05:00
Al Viro ba87167c06 switch ocfs2, close races
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:46 -05:00
Al Viro 41ced6dcf3 switch gfs2, close races
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:46 -05:00
Al Viro 1c929cfe6d switch cifs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:46 -05:00
Al Viro 8b244ff2fa switch nfs to ->s_d_op
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:45 -05:00
Al Viro 96e1391414 switch adfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:45 -05:00
Al Viro eddf790bd4 switch hfsplus
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:45 -05:00
Al Viro 518c79d28e switch hfs
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:45 -05:00
Al Viro c6cb412366 minixfs: kill dead code
->d_op of root stays NULL these days on minixfs

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:44 -05:00
Al Viro 30304aba6a switch sysv
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:44 -05:00
Al Viro c35eebe993 switch fuse
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:44 -05:00
Al Viro d93e34faf9 pohmelfs: double-free and leak
wrong dentry dropped...

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:44 -05:00
Al Viro 94b77bd86f switch jfs to ->s_d_op, close exportfs races
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:43 -05:00
Al Viro 3d23985d6c switch fat to ->s_d_op, close exportfs races there
don't bother with lock_super() in fat_fill_super() callers, while
we are at it - there won't be any concurrency anyway.

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:43 -05:00
Al Viro 6cc9c1d2c1 fix isofs d_op handling
switch to ->s_d_op; d_obtain_alias() will DTRT now

Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:43 -05:00
Al Viro c8aebb0c9f per-superblock default ->d_op
Signed-off-by: Al Viro <[email protected]>
2011-01-12 20:02:34 -05:00
Al Viro 751c88a2c3 m68knommu: Need to check __get_user()/__put_user() result
Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:07:00 +01:00
Al Viro 8972be4d44 m68knommu: signal.c __user annotations
Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro a19185c32d m68knommu: Equivalent of "m68k: handle new gcc's"
... from back in 2004; again, it's ifdefed out by CONFIG_FPU.

Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro e64f1b7520 m68knommu: f_pcr has been gone since headers' merge
sure, it's effectively ifdefed out, but still...

Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro 089e449a82 m68knommu: Don't lose state if sigframe setup fails
exact parallel to m68k analog

Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro d1574df7e0 m68knommu: Handle multiple pending signals
we shouldn't bugger off to userland when there still are
pending signals; among other things it makes e.g. SIGSEGV
triggered by failure to build a sigframe to be delivered
_now_ and not when we hit the next syscall or interrupt.

Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro 710e91e455 m68knommu: Switch to saner sigsuspend
Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:59 +01:00
Al Viro bf814b45d5 m68knommu: Don't bother with SA_ONESHOT
Signed-off-by: Al Viro <[email protected]>
Acked-by: Greg Ungerer <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:06:58 +01:00
Al Viro 8c18194f6c m68k: Check __get_user()/__put_user() return value
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:35 +01:00
Al Viro bd6f56a75b m68k: Missing syscall_trace() on sigreturn
If we leave sigreturn via ret_from_signal, we end up with syscall
trace only on entry, leading to very unhappy strace, among other
things.  Note that this means different behaviours for signals
delivered while we were in pagefault and for ones delivered while
we were in interrupt...

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:35 +01:00
Al Viro ea52b58ccb m68k: Fix stack mangling logics in sigreturn
a) we should hold modifying regs->format until we know we *will* be
doing stack expansion; otherwise attacker can modify sigframe to
have wrong ->sc_formatvec and install SIGSEGV handler.

b) we should *not* mix copying saved extra stuff from userland with
expanding the stack; once we'd done that manual memmove, we'd better
not return to C, so cleanup is very hard to do.  The easiest way
is to copy it on stack first, making sure we won't overwrite on stack
expansion.  Fortunately that's easy to do...

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:35 +01:00
Al Viro 90731d7537 m68k: If we fail to set sigframe up, just leave regs alone...
Same principle as with the previous patch - do not destroy the
state if sigframe setup fails.  Incidentally, it's actually
_less_ work - we don't need to go through adjust_stack dance
on failure if we don't touch regs->stkadj until we know we'd
written sigframe out.

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:34 +01:00
Al Viro f85741eb5f m68k: Don't lose state if sigframe setup fails
If we'd failed in setup_frame(), we've no place to store
the original sigmask.  It's not an unrecoverable situation -
we raise SIGSEGV, but that SIGSEGV might be successfully
handled (e.g. on altstack).  In that case we really don't
want sa_mask of original signal permanently slapped on
the set of blocked signals.

Standard solution: have setup_frame()/setup_rt_frame()
report failure and don't mess with the signal-related
state if that has happened...

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:34 +01:00
Al Viro 9e4930dbf1 m68k: Simplify the singlestepping handling in signals
Instead of checking the return value of do_signal() we can just do
the work (raise SIGTRAP and clear SR.T1) directly in handle_signal(),
when setting the sigframe up.  Simplifies the assembler glue and is
closer to the way we do it on other targets.

Note that do_delayed_trace does *not* disappear; it's still needed
to deal with single-stepping through syscall, since 68040 doesn't
raise the trace exception at all if the trap exception is pending.
We hit it after returning from sys_...() if TIF_DELAYED_TRACE is
set; all that has changed is that we don't reuse it for "single-step
into the handler" codepath.

As the result, do_signal() doesn't need to return anything anymore.

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:34 +01:00
Al Viro e68847fee7 m68k: Switch to saner sigsuspend()
and saner do_signal() arguments, while we are at it

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 14:01:33 +01:00
Al Viro 35fc157baf m68k: Resetting sa_handler in local copy of k_sigaction is pointless
... and had been such since the introduction of get_signal_to_deliver()

Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-07 13:59:59 +01:00
Al Viro 3cb50ddf97 Fix btrfs b0rkage
Buggered-in: 76dda93c6a ("Btrfs: add snapshot/subvolume destroy
ioctl")

Signed-off-by: Al Viro <[email protected]>
Acked-by: Chris Mason <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2010-12-20 09:09:57 -08:00
Al Viro a989ff898f MIPS: Don't stomp on caller's ->regs[2] in copy_thread()
We never needed that (->regs[2] is overwritten on return from syscall paths
with return value of syscall, so storing it there early made no sense) and
with new restart logics since d27240bf7e61d2656de18e158ec910a902030847 it
has become really bad - we lose the original syscall number before the
place where we decide that we might need a syscall restart.

Note that for child we do need the assignment to regs[2] - it won't go
through the normal return from syscall path.

[Ralf: Issue found and reported by Lluís; initial investigations by me;
bug finally found and patch by Al; testing by me and Lluís.]

Signed-off-by: Al Viro <[email protected]>
Tested-by: Lluís Batlle i Rossell <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
2010-12-16 18:10:52 +00:00
Al Viro 120a795da0 audit mmap
Normal syscall audit doesn't catch 5th argument of syscall.  It also
doesn't catch the contents of userland structures pointed to be
syscall argument, so for both old and new mmap(2) ABI it doesn't
record the descriptor we are mapping.  For old one it also misses
flags.

Signed-off-by: Al Viro <[email protected]>
2010-10-30 08:45:43 -04:00
Al Viro af2951325b audit: make link()/linkat() match "attribute change" predicate
Signed-off-by: Al Viro <[email protected]>
2010-10-30 08:45:43 -04:00
Al Viro f7a998a949 in untag_chunk() we need to do alloc_chunk() a bit earlier
... while we are not holding spinlocks.

Signed-off-by: Al Viro <[email protected]>
2010-10-30 02:18:32 -04:00
Al Viro a4cdbd8bfb braino in internal.h
wrong return type...

Signed-off-by: Al Viro <[email protected]>
2010-10-29 05:49:13 -04:00
Al Viro 31f43471e9 convert simple cases of nfs-related ->get_sb() to ->mount()
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:23 -04:00
Al Viro 061dbc6b90 convert btrfs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:21 -04:00
Al Viro a7f9fb205a convert ceph
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:18 -04:00
Al Viro 8bcbbf0009 convert gfs2
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:16 -04:00
Al Viro f7442b3be6 convert afs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:13 -04:00
Al Viro 4d143beb04 convert ecryptfs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:11 -04:00
Al Viro d0e46f88b2 convert sysfs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:08 -04:00
Al Viro f7e835710a convert cgroup and cpuset
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:06 -04:00
Al Viro ceefda6931 switch get_sb_ns() users
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:03 -04:00
Al Viro aed1d84f98 switch procfs to ->mount()
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:17:01 -04:00
Al Viro 579441a39b setting ->proc_mnt doesn't belong in proc_get_sb()
take that to kern_mount_data()-using callers

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:58 -04:00
Al Viro d753ed9759 convert cifs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:56 -04:00
Al Viro e4c59d61e8 convert nilfs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:53 -04:00
Al Viro a1da9e8ab6 switch logfs to ->mount()
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:51 -04:00
Al Viro e5a0726a95 logfs: fix a leak in get_sb
a) switch ->put_device() to logfs_super *
b) actually call it on early failures in logfs_get_sb_device()

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:48 -04:00
Al Viro 7d945a3aa7 logfs get_sb, part 3
take logfs_get_sb_device() calls to logfs_get_sb() itself

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:46 -04:00
Al Viro 0d85c79962 logfs get_sb, part 2
take setting s_bdev/s_mtd/s_devops to callers of logfs_get_sb_device(),
don't bother passing them separately

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:43 -04:00
Al Viro 71a1c0125f logfs get_sb massage, part 1
move allocation of logfs_super to logfs_get_sb, pass it to
logfs_get_sb_...().

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:41 -04:00
Al Viro d2d1ea9306 convert v9fs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:38 -04:00
Al Viro 157d81e7ff convert ubifs
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:36 -04:00
Al Viro 51139adac9 convert get_sb_pseudo() users
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:33 -04:00
Al Viro 3c26ff6e49 convert get_sb_nodev() users
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:31 -04:00
Al Viro fc14f2fef6 convert get_sb_single() users
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:28 -04:00
Al Viro 848b83a59b convert get_sb_mtd() users to ->mount()
Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:26 -04:00
Al Viro 152a083666 new helper: mount_bdev()
... and switch of the obvious get_sb_bdev() users to ->mount()

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:16:13 -04:00
Al Viro c96e41e92b beginning of transtion: ->mount()
eventual replacement for ->get_sb() - does *not* get vfsmount,
return ERR_PTR(error) or root of subtree to be mounted.

Signed-off-by: Al Viro <[email protected]>
2010-10-29 04:15:06 -04:00