aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-03-28Merge branch 'mlog_replace_for_39' of git://repo.or.cz/taoma-kernel into ↵Joel Becker712-6503/+11917
ocfs2-merge-window-fix
2011-03-28fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.Rakib Mullick1-5/+5
When CONFIG_DEBUG_FS=y and CONFIG_OCFS2_FS_STATS=n, we get the following warning: fs/ocfs2/cluster/tcp.c:213:16: warning: ‘o2net_get_func_run_time’ defined but not used Since o2net_get_func_run_time is only called from o2net_update_recv_stats, so move it under CONFIG_OCFS2_FS_STATS. Signed-off-by: Rakib Mullick <[email protected]> Signed-off-by: jlbec <[email protected]>
2011-02-22ocfs2/dlm: Move kmalloc() outside the spinlockSunil Mushran1-12/+16
In dlm_query_region_handler(), move the kmalloc outside the spinlock. This allows us to use GFP_KERNEL instead of GFP_ATOMIC. Signed-off-by: Sunil Mushran <[email protected]> Signed-off-by: Joel Becker <[email protected]>
2011-02-21ocfs2: Make the left masklogs compat.Tao Ma1-17/+17
Since we have removed almost all of the masklogs in fs/ocfs2/*, make the left masklogs compat. Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: Remove masklog ML_AIO.Tao Ma2-2/+0
There is no user for masklog AIO, so remove it. Signed-off-by: Tao Ma <[email protected]>
2011-02-24ocfs2: Remove masklog ML_UPTODATE.Tao Ma5-41/+79
Remove mlog(0,...) and mlog(ML_UPTODATE,...) from fs/ocfs2/uptodate.c and fs/ocfs2/buffer_head_io.c. The masklog UPTODATE is removed finally. Signed-off-by: Tao Ma <[email protected]>
2011-02-24ocfs2: Remove masklog ML_BH_IO.Tao Ma4-26/+59
Remove mlog(0,...) and mlog(ML_BH_IO,...) from fs/ocfs2/buffer_head_io.c. The masklog BH_IO is removed finally. Signed-off-by: Tao Ma <[email protected]>
2011-02-24ocfs2: Remove masklog ML_JOURNAL.Tao Ma4-78/+153
Remove mlog(0) from fs/ocfs2/journal.c and the masklog JOURNAL. Signed-off-by: Tao Ma <[email protected]>
2011-02-24ocfs2: Remove masklog ML_EXPORT.Tao Ma4-30/+101
Remove mlog(0) from fs/ocfs2/export.c and the masklog EXPORT. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_DCACHE.Tao Ma4-24/+121
Remove mlog(0) from fs/ocfs2/dcache.c and the masklog DCACHE. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_NAMEI.Tao Ma4-71/+292
Remove mlog(0) from fs/ocfs2/namei.c and the masklog NAMEI finally. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove mlog(0) from fs/ocfs2/dir.cTao Ma2-46/+153
This is the 2nd step to remove the debug info of NAMEI. Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: remove NAMEI from symlink.cTao Ma1-1/+0
No mlog(0,...) in symlink.c, so just remove NAMEI. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_QUOTA.Tao Ma4-14/+90
Remove mlog(0) from fs/ocfs2/quota_global.c and the masklog QUOTA. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove mlog(0) from quota_local.c.Tao Ma2-6/+17
Remove mlog(0) from fs/ocfs2/quota_local.c. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_RESERVATIONS.Tao Ma4-33/+142
Remove mlog(0) from fs/ocfs2/reservations.c and the masklog RESERVATIONS. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_XATTR.Tao Ma4-80/+239
Remove mlog(0) from fs/ocfs2/xattr.c and the masklog ML_XATTR. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove masklog ML_SUPER.Tao Ma4-21/+118
Remove mlog(0) from fs/ocfs2/super.c and the masklog SUPER. Signed-off-by: Tao Ma <[email protected]>
2011-02-23ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.cTao Ma2-2/+9
This is the 2nd step to remove the debug info of SUPER. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.cTao Ma2-8/+16
This is the 1st step to remove the debug info of SUPER. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove masklog ML_EXTENT_MAP.Tao Ma4-5/+31
Remove mlog(0) from fs/ocfs2/extent_map.c and the masklog EXTENT_MAP. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove masklog ML_INODE.Tao Ma4-63/+182
Remove mlog(0) from fs/ocfs2/inode.c and the masklog INODE. Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: Little refactoring against ocfs2_iget.Tao Ma1-5/+5
ocfs2_iget is used to get/create inode. Only iget5_locked will give us an inode = NULL. So move this check ahead of ocfs2_read_locked_inode so that we don't need to check inode before we read and unlock inode. This is also helpful for trace event(see the next patch). Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/file.cTao Ma3-98/+330
This is the 2nd step to remove the debug info of INODE. Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: remove INODE from unused files.Tao Ma3-3/+0
As there are no such debug information in fs/ocfs2/ioctl.c, fs/ocfs2/locks.c and fs/ocfs2/sysfile.c, ML_INODE are also removed. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove FILE_IO from masklog.Tao Ma4-6/+28
Change all the "mlog(0," in fs/ocfs2/mmap.c to trace events. And finally remove masklog FILE_IO. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/aops.cTao Ma2-26/+153
Remove all the "mlog(0," in fs/ocfs2/aops.c. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove masklog ML_REFCOUNT.Tao Ma4-82/+341
Change all the "mlog(0," in fs/ocfs2/refcounttree.c to trace events. And finally remove masklog ML_REFCOUNT. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove DISK_ALLOC from masklog.Tao Ma6-6/+0
Since all 4 files, localalloc.c, suballoc.c, alloc.c and resize.c, which use DISK_ALLOC are changed to trace events, Remove masklog DISK_ALLOC totally. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.cTao Ma2-5/+17
This is the 4th step to remove the debug info of DISK_ALLOC. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/suballoc.cTao Ma2-54/+265
This is the 3rd step to remove the debug info of DISK_ALLOC. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/localalloc.cTao Ma2-34/+135
This is the 2nd step to remove the debug info of DISK_ALLOC. So this patch removes all mlog(0,...) from localalloc.c and adds the corresponding tracepoints. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some are replaced while some new parameters are added. 3. Some are combined into one trace events. 4. Some redundant mlogs are removed. Signed-off-by: Tao Ma <[email protected]>
2011-02-22ocfs2: Remove mlog(0) from fs/ocfs2/alloc.cTao Ma2-77/+452
This is the first try of replacing debug mlog(0,...) to trace events. Wengang has did some work in his original patch http://oss.oracle.com/pipermail/ocfs2-devel/2009-November/005513.html But he didn't finished it. So this patch removes all mlog(0,...) from alloc.c and adds the corresponding trace events. Different mlogs have different solutions. 1. Some are replaced with trace event directly. 2. Some are replaced and some new parameters are added since I think we need to know the btree owner in that case. 3. Some are combined into one trace events. 4. Some redundant mlogs are removed. What's more, it defines some event classes so that we can use them later. Cc: Wengang Wang <[email protected]> Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: Add ocfs2_trace.h.Wengang Wang2-0/+19
About one year ago, Wengang Wang tried some first steps to add tracepoints to ocfs2. Hiss original patch is here: http://oss.oracle.com/pipermail/ocfs2-devel/2009-November/005512.html But as Steven Rostedt indicated in his article http://lwn.net/Articles/383362/, we'd better have our trace files resides in fs/ocfs2, so I rewrited the patch using the method Steven mentioned in that article. Signed-off-by: Wengang Wang <[email protected]> Signed-off-by: Tao Ma <[email protected]>
2011-03-07ocfs2: Remove EXIT from masklog.Tao Ma27-315/+159
mlog_exit is used to record the exit status of a function. But because it is added in so many functions, if we enable it, the system logs get filled up quickly and cause too much I/O. So actually no one can open it for a production system or even for a test. This patch just try to remove it or change it. So: 1. if all the error paths already use mlog_errno, it is just removed. Otherwise, it will be replaced by mlog_errno. 2. if it is used to print some return value, it is replaced with mlog(0,...). mlog_exit_ptr is changed to mlog(0. All those mlog(0,...) will be replaced with trace events later. Signed-off-by: Tao Ma <[email protected]>
2011-02-21ocfs2: Remove ENTRY from masklog.Tao Ma31-418/+161
ENTRY is used to record the entry of a function. But because it is added in so many functions, if we enable it, the system logs get filled up quickly and cause too much I/O. So actually no one can open it for a production system or even for a test. So for mlog_entry_void, we just remove it. for mlog_entry(...), we replace it with mlog(0,...), and they will be replace by trace event later. Signed-off-by: Tao Ma <[email protected]>
2011-03-15Merge branch 'for-linus' of ↵Linus Torvalds57-1253/+1483
git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (57 commits) tidy the trailing symlinks traversal up Turn resolution of trailing symlinks iterative everywhere simplify link_path_walk() tail Make trailing symlink resolution in path_lookupat() iterative update nd->inode in __do_follow_link() instead of after do_follow_link() pull handling of one pathname component into a helper fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCH Allow passing O_PATH descriptors via SCM_RIGHTS datagrams readlinkat(), fchownat() and fstatat() with empty relative pathnames Allow O_PATH for symlinks New kind of open files - "location only". ext4: Copy fs UUID to superblock ext3: Copy fs UUID to superblock. vfs: Export file system uuid via /proc/<pid>/mountinfo unistd.h: Add new syscalls numbers to asm-generic x86: Add new syscalls for x86_64 x86: Add new syscalls for x86_32 fs: Remove i_nlink check from file system link callback fs: Don't allow to create hardlink for deleted file vfs: Add open by file handle support ...
2011-03-15VFS: Fix the nfs sillyrename regression in kernel 2.6.38Trond Myklebust1-1/+6
The new vfs locking scheme introduced in 2.6.38 breaks NFS sillyrename because the latter relies on being able to determine the parent directory of the dentry in the ->iput() callback in order to send the appropriate unlink rpc call. Looking at the code that cares about races with dput(), there doesn't seem to be anything that specifically uses d_parent as a test for whether or not there is a race: - __d_lookup_rcu(), __d_lookup() all test for d_hashed() after d_parent - shrink_dcache_for_umount() is safe since nothing else can rearrange the dentries in that super block. - have_submount(), select_parent() and d_genocide() can test for a deletion if we set the DCACHE_DISCONNECTED flag when the dentry is removed from the parent's d_subdirs list. Signed-off-by: Trond Myklebust <[email protected]> Cc: [email protected] (2.6.38, needs commit c826cb7dfce8 "dcache.c: create helper function for duplicated functionality" ) Signed-off-by: Linus Torvalds <[email protected]>
2011-03-15dcache.c: create helper function for duplicated functionalityLinus Torvalds1-51/+37
This creates a helper function for he "try to ascend into the parent directory" case, which was written out in triplicate before. With all the locking and subtle sequence number stuff, we really don't want to duplicate that kind of code. Signed-off-by: Linus Torvalds <[email protected]>
2011-03-15tidy the trailing symlinks traversal upAl Viro1-45/+26
* pull the handling of current->total_link_count into __do_follow_link() * put the common "do ->put_link() if needed and path_put() the link" stuff into a helper (put_link(nd, link, cookie)) * rename __do_follow_link() to follow_link(), while we are at it Signed-off-by: Al Viro <[email protected]>
2011-03-15Turn resolution of trailing symlinks iterative everywhereAl Viro1-54/+50
The last remaining place (resolution of nested symlink) converted to the loop of the same kind we have in path_lookupat() and path_openat(). Note that we still *do* have a recursion in pathname resolution; can't avoid it, really. However, it's strictly for nested symlinks now - i.e. ones in the middle of a pathname. link_path_walk() has lost the tail now - it always walks everything except the last component. do_follow_link() renamed to nested_symlink() and moved down. Signed-off-by: Al Viro <[email protected]>
2011-03-15simplify link_path_walk() tailAl Viro1-7/+1
Now that link_path_walk() is called without LOOKUP_PARENT only from do_follow_link(), we can simplify the checks in last component handling. First of all, checking if we'd arrived to a directory is not needed - the caller will check it anyway. And LOOKUP_FOLLOW is guaranteed to be there, since we only get to that place with nd->depth > 0. Signed-off-by: Al Viro <[email protected]>
2011-03-15Make trailing symlink resolution in path_lookupat() iterativeAl Viro1-10/+53
Now the only caller of link_path_walk() that does *not* pass LOOKUP_PARENT is do_follow_link() Signed-off-by: Al Viro <[email protected]>
2011-03-15update nd->inode in __do_follow_link() instead of after do_follow_link()Al Viro1-3/+2
... and note that we only need to do it for LAST_BIND symlinks Signed-off-by: Al Viro <[email protected]>
2011-03-15pull handling of one pathname component into a helperAl Viro1-68/+55
new helper: walk_component(). Handles everything except symlinks; returns negative on error, 0 on success and 1 on symlinks we decided to follow. Drops out of RCU mode on such symlinks. link_path_walk() and do_last() switched to using that. Signed-off-by: Al Viro <[email protected]>
2011-03-15fs: allow AT_EMPTY_PATH in linkat(), limit that to CAP_DAC_READ_SEARCHAneesh Kumar K.V1-4/+16
We don't want to allow creation of private hardlinks by different application using the fd passed to them via SCM_RIGHTS. So limit the null relative name usage in linkat syscall to CAP_DAC_READ_SEARCH Signed-off-by: Aneesh Kumar K.V <[email protected]>
2011-03-15Merge branch 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvmLinus Torvalds13-101/+257
* 'for-linus' of git://xenbits.xen.org/people/sstabellini/linux-pvhvm: xen: suspend: remove xen_hvm_suspend xen: suspend: pull pre/post suspend hooks out into suspend_info xen: suspend: move arch specific pre/post suspend hooks into generic hooks xen: suspend: refactor non-arch specific pre/post suspend hooks xen: suspend: add "arch" to pre/post suspend hooks xen: suspend: pass extra hypercall argument via suspend_info struct xen: suspend: refactor cancellation flag into a structure xen: suspend: use HYPERVISOR_suspend for PVHVM case instead of open coding xen: switch to new schedop hypercall by default. xen: use new schedop interface for suspend xen: do not respond to unknown xenstore control requests xen: fix compile issue if XEN is enabled but XEN_PVHVM is disabled xen: PV on HVM: support PV spinlocks and IPIs xen: make the ballon driver work for hvm domains xen-blkfront: handle Xen major numbers other than XENVBD xen: do not use xen_info on HVM, set pv_info name to "Xen HVM" xen: no need to delay xen_setup_shutdown_event for hvm guests anymore
2011-03-15Merge branches 'stable/ia64', 'stable/blkfront-cleanup' and 'stable/cleanup' ↵Linus Torvalds6-15/+21
of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/ia64' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: ia64 build broken due to "xen: switch to new schedop hypercall by default." * 'stable/blkfront-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: Union the blkif_request request specific fields * 'stable/cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: annotate functions which only call into __init at start of day xen p2m: annotate variable which appears unused xen: events: mark cpu_evtchn_mask_p as __refdata
2011-03-15Merge branch 'stable/irq.cleanup' of ↵Linus Torvalds3-143/+91
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/irq.cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen: events: remove dom0 specific xen_create_msi_irq xen: events: use xen_bind_pirq_msi_to_irq from xen_create_msi_irq xen: events: push set_irq_msi down into xen_create_msi_irq xen: events: update pirq_to_irq in xen_create_msi_irq xen: events: refactor xen_create_msi_irq slightly xen: events: separate MSI PIRQ allocation from PIRQ binding to IRQ xen: events: assume PHYSDEVOP_get_free_pirq exists xen: pci: collapse apic_register_gsi_xen_hvm and xen_hvm_register_pirq xen: events: return irq from xen_allocate_pirq_msi xen: events: drop XEN_ALLOC_IRQ flag to xen_allocate_pirq_msi xen: events: do not leak IRQ from xen_allocate_pirq_msi when no pirq available. xen: pci: only define xen_initdom_setup_msi_irqs if CONFIG_XEN_DOM0
2011-03-15Merge branches 'stable/irq.rework' and 'stable/pcifront-fixes' of ↵Linus Torvalds8-187/+186
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen * 'stable/irq.rework' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: xen/irq: Cleanup up the pirq_to_irq for DomU PV PCI passthrough guests as well. xen: Use IRQF_FORCE_RESUME xen/timer: Missing IRQF_NO_SUSPEND in timer code broke suspend. xen: Fix compile error introduced by "switch to new irq_chip functions" xen: Switch to new irq_chip functions xen: Remove stale irq_chip.end xen: events: do not free legacy IRQs xen: events: allocate GSIs and dynamic IRQs from separate IRQ ranges. xen: events: add xen_allocate_irq_{dynamic, gsi} and xen_free_irq xen:events: move find_unbound_irq inside CONFIG_PCI_MSI xen: handled remapped IRQs when enabling a pcifront PCI device. genirq: Add IRQF_FORCE_RESUME * 'stable/pcifront-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: pci/xen: When free-ing MSI-X/MSI irq->desc also use generic code. pci/xen: Cleanup: convert int** to int[] pci/xen: Use xen_allocate_pirq_msi instead of xen_allocate_pirq xen-pcifront: Sanity check the MSI/MSI-X values xen-pcifront: don't use flush_scheduled_work()