aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-10-28parisc: fix compile failure with kmap_atomic changesJames Bottomley1-4/+4
Commit 3e4d3af501cc ("mm: stack based kmap_atomic()") overlooked the fact that parisc uses kmap as a coherence mechanism, so even though we have no highmem, we do need to supply our own versions of kmap (and atomic). This patch converts the parisc kmap to the form which is needed to keep it compiling (it's a simple prototype and name change). Signed-off-by: James Bottomley <[email protected]> Acked-by: Kyle McMartin <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-28Fix compile brekage with !CONFIG_BLOCKIngo Molnar1-0/+1
Today's git tree fails to build on !CONFIG_BLOCK, due to upstream commit 367a51a33902 ("fs: Add FITRIM ioctl"): include/linux/fs.h:36: error: expected specifier-qualifier-list before ‘uint64_t’ include/linux/fs.h:36: error: expected specifier-qualifier-list before ‘uint64_t’ include/linux/fs.h:36: error: expected specifier-qualifier-list before ‘uint64_t’ The commit adds uint64_t type usage to fs.h, but linux/types.h is not included explicitly - it's only included implicitly via linux/blk_types.h, and there only if CONFIG_BLOCK is enabled. Add the explicit #include to fix this. Signed-off-by: Ingo Molnar <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2010-10-28Merge git://git.infradead.org/battery-2.6Linus Torvalds1-0/+1
* git://git.infradead.org/battery-2.6: power_supply: Mark twl4030_charger as broken
2010-10-28nfs: testing the wrong variableDan Carpenter1-1/+1
The intent was to test "*desc" for allocation failures, but it tests "desc" which is always a valid pointer here. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Trond Myklebust <[email protected]>
2010-10-28nfs: handle lock context allocation failures in nfs_create_requestJeff Layton1-1/+7
nfs_get_lock_context can return NULL on an allocation failure. Regression introduced by commit f11ac8db. Reported-by: Steve Dickson <[email protected]> Signed-off-by: Jeff Layton <[email protected]> Cc: [email protected] Signed-off-by: Trond Myklebust <[email protected]>
2010-10-28Fixed Regression in NFS Direct I/O pathSteve Dickson1-1/+1
A typo, introduced by commit f11ac8db, in the nfs_direct_write() routine causes writes with O_DIRECT set to fail with a ENOMEM error. Found-by: Jeff Layton <[email protected]> Signed-off-by: Steve Dickson <[email protected]> Cc: [email protected] Signed-off-by: Trond Myklebust <[email protected]>
2010-10-28Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds6-44/+11
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: cciss: remove overlapping PCI IDs block: cciss: fix information leak to userland drivers/block/aoe/aoeblk.c: ratelimit a warning printk drivers/block/z2ram.c: correct printing of sector_t aoe: don't use flush_scheduled_work() drivers/block/drbd/drbd_main.c: fix error path loop: Properly clear sysfs in autoclear mode
2010-10-28net/9p: Return error on read with NULL bufferSanchit Garg1-4/+1
This patch ensures that a read(fd, NULL, 10) returns EFAULT on a 9p file. Signed-off-by: Sanchit Garg <[email protected]> Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Add datasync to client side TFSYNC/RFSYNC for dotlVenkateswararao Jujjuri (JV)5-6/+9
SYNOPSIS size[4] Tfsync tag[2] fid[4] datasync[4] size[4] Rfsync tag[2] DESCRIPTION The Tfsync transaction transfers ("flushes") all modified in-core data of file identified by fid to the disk device (or other permanent storage device) where that file resides. If datasync flag is specified data will be fleshed but does not flush modified metadata unless that metadata is needed in order to allow a subsequent data retrieval to be correctly handled. Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28net/9p: Return error if we fail to encode protocol dataAneesh Kumar K.V2-3/+4
We need to return error in case we fail to encode data in protocol buffer. This patch also return error in case of a failed copy_from_user. Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Use generic_file_open with lookup_instantiate_filpAneesh Kumar K.V1-9/+2
We need to do O_LARGEFILE check even in case of 9p. Use the generic_file_open helper Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Add missing iput in v9fs_vfs_lookupAneesh Kumar K.V1-1/+3
Make sure we drop inode reference in the error path Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Use mknod 9p operation on create without open requestAneesh Kumar K.V1-2/+12
A create without LOOKUP_OPEN flag set is due to mknod of regular files. Use mknod 9P operation for the same Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28net/9p: Add waitq to VirtIO transport.Venkateswararao Jujjuri (JV)2-8/+41
If there is not enough space for the PDU on the VirtIO ring, current code returns -EIO propagating the error to user. This patch introduced a wqit_queue on the channel, and lets the process wait on this queue until VirtIO ring frees up. Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28[net/9p]Serialize virtqueue operations to make VirtIO transport SMP safe.Venkateswararao Jujjuri (JV)1-10/+24
Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Implement TREADLINK operation for 9p2000.LM. Mohan Kumar4-3/+86
Synopsis size[4] TReadlink tag[2] fid[4] size[4] RReadlink tag[2] target[s] Description Readlink is used to return the contents of the symoblic link referred by fid. Contents of symboic link is returned as a response. target[s] - Contents of the symbolic link referred by fid. Signed-off-by: M. Mohan Kumar <[email protected]> Reviewed-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Use V9FS_MAGIC in statfsM. Mohan Kumar3-3/+3
Use V9FS_MAGIC as the file system type while filling kernel statfs strucutre instead of using host file system magic number. Also move the definition of V9FS_MAGIC from v9fs.h to standard magic.h file. Signed-off-by: M. Mohan Kumar <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Implement TGETLOCKM. Mohan Kumar4-0/+100
Synopsis size[4] TGetlock tag[2] fid[4] getlock[n] size[4] RGetlock tag[2] getlock[n] Description TGetlock is used to test for the existence of byte range posix locks on a file identified by given fid. The reply contains getlock structure. If the lock could be placed it returns F_UNLCK in type field of getlock structure. Otherwise it returns the details of the conflicting locks in the getlock structure getlock structure: type[1] - Type of lock: F_RDLCK, F_WRLCK start[8] - Starting offset for lock length[8] - Number of bytes to check for the lock If length is 0, check for lock in all bytes starting at the location 'start' through to the end of file pid[4] - PID of the process that wants to take lock/owns the task in case of reply client[4] - Client id of the system that owns the process which has the conflicting lock Signed-off-by: M. Mohan Kumar <[email protected]> Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Implement TLOCKM. Mohan Kumar5-2/+222
Synopsis size[4] TLock tag[2] fid[4] flock[n] size[4] RLock tag[2] status[1] Description Tlock is used to acquire/release byte range posix locks on a file identified by given fid. The reply contains status of the lock request flock structure: type[1] - Type of lock: F_RDLCK, F_WRLCK, F_UNLCK flags[4] - Flags could be either of P9_LOCK_FLAGS_BLOCK - Blocked lock request, if there is a conflicting lock exists, wait for that lock to be released. P9_LOCK_FLAGS_RECLAIM - Reclaim lock request, used when client is trying to reclaim a lock after a server restrart (due to crash) start[8] - Starting offset for lock length[8] - Number of bytes to lock If length is 0, lock all bytes starting at the location 'start' through to the end of file pid[4] - PID of the process that wants to take lock client_id[4] - Unique client id status[1] - Status of the lock request, can be P9_LOCK_SUCCESS(0), P9_LOCK_BLOCKED(1), P9_LOCK_ERROR(2) or P9_LOCK_GRACE(3) P9_LOCK_SUCCESS - Request was successful P9_LOCK_BLOCKED - A conflicting lock is held by another process P9_LOCK_ERROR - Error while processing the lock request P9_LOCK_GRACE - Server is in grace period, it can't accept new lock requests in this period (except locks with P9_LOCK_FLAGS_RECLAIM flag set) Signed-off-by: M. Mohan Kumar <[email protected]> Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28[9p] Introduce client side TFSYNC/RFSYNC for dotl.Venkateswararao Jujjuri (JV)4-2/+44
SYNOPSIS size[4] Tfsync tag[2] fid[4] size[4] Rfsync tag[2] DESCRIPTION The Tfsync transaction transfers ("flushes") all modified in-core data of file identified by fid to the disk device (or other permanent storage device) where that file resides. Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28[fs/9p] Add file_operations for cached mode in dotl protocol.Venkateswararao Jujjuri (JV)1-0/+15
Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Add access = client option to opt in acl evaluation.Aneesh Kumar K.V6-7/+110
Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Implement create time inheritanceAneesh Kumar K.V3-44/+166
Inherit default ACL on create Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Update ACL on chmodAneesh Kumar K.V3-0/+66
We need update the acl value on chmod Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Implement setting posix aclAneesh Kumar K.V3-2/+75
This patch also update mode bits, as a normal file system. I am not sure wether we should do that, considering that a setxattr on the server will again update the ACL/mode value Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Add xattr callbacks for POSIX ACLAneesh Kumar K.V3-0/+47
This patch implement fetching POSIX ACL from the server Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Implement POSIX ACL permission checking functionAneesh Kumar K.V8-22/+186
The ACL value is fetched as a part of inode initialization from the server and the permission checking function use the cached value of the ACL Signed-off-by: Aneesh Kumar K.V <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28net/9p: Add a Warning to catch NULL fids passed to p9_client_clunk().jvrao1-0/+6
Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: Remove the redundant rsize calculation in v9fs_file_write()jvrao1-8/+2
the same calculation is done in p9_client_write Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Badari Pulavarty <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Add a Direct IO support for non-cached operations.jvrao1-0/+30
The presence of v9fs_direct_IO() in the address space ops vector allowes open() O_DIRECT flags which would have failed otherwise. In the non-cached mode, we shunt off direct read and write requests before the VFS gets them, so this method should never be called. Direct IO is not 'yet' supported in the cached mode. Hence when this routine is called through generic_file_aio_read(), the read/write fails with an error. Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28net/9p: This patch implements TLERROR/RLERROR on the 9P client.Arun R Bharadwaj2-16/+31
Signed-off-by: Arun R Bharadwaj <[email protected]> Signed-off-by: Venkateswararao Jujjuri <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: mkdir fix for setting S_ISGID bit as per parent directoryHarsh Prateek Bora1-0/+2
The current implementation of 9p client mkdir function does not set the S_ISGID mode bit for the directory being created if the parent directory has this bit set. This patch fixes this problem so that the newly created directory inherits the gid from parent directory and not from the process creating this directory, when the S_ISGID bit is set in parent directory. Signed-off-by: Harsh Prateek Bora <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: Pass the correct end of buffer to p9dirent_readSripathi Kodi1-1/+2
A patch was accepted recently for sending correct buffer size to p9stat_read. We need a similar patch in v9fs_dir_readdir_dotl to send correct end of buffer to p9dirent_read. Signed-off-by: Sripathi Kodi <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28fs/9p: setrlimit fix for 9p writeHarsh Prateek Bora1-4/+19
Current 9p client file write code does not check for RLIMIT_FSIZE resource. This bug was found by running LTP test case for setrlimit. This bug is fixed by calling generic_write_checks before sending the write request to the server. Without this patch: the write function is allowed to write above the RLIMIT_FSIZE set by user. With this patch: the write function checks for RLIMIT_SIZE and writes upto the size limit. Signed-off-by: Harsh Prateek Bora <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-289p: remove unneeded checksDan Carpenter1-13/+0
git_t is unsigned an can never be less than zero. Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Eric Van Hensbergen <[email protected]>
2010-10-28cciss: remove overlapping PCI IDsMike Miller1-36/+0
This patch removes the controller overlap between cciss and hpsa. It was decided that no overlap should exist. All new controllers will use the hpsa SCSI based driver. Signed-off-by: Jens Axboe <[email protected]>
2010-10-28block: cciss: fix information leak to userlandVasiliy Kulikov1-0/+1
Structure IOCTL_Command_struct is copied to userland with some padding fields at the end of the struct unitialized. It leads to leaking of contents of kernel stack memory. Signed-off-by: Vasiliy Kulikov <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-10-28drivers/block/aoe/aoeblk.c: ratelimit a warning printkAndrew Morton1-1/+3
As described in https://bugzilla.kernel.org/show_bug.cgi?id=19922 : I had an AoE device go down overnight, and while a server was trying to : write to it, it was also writing this message to its logs: : : 209 printk(KERN_INFO "aoe: device %ld.%d is not up\n", : 210 d->aoemajor, d->aoeminor); : : The message appeared many times per second, and over several hours : produced about 7.5 gigabytes of log files, filling up all free space on : the root filesystem. Cc: "Ed L. Cashin" <[email protected]> Suggested-by: Roman Mamedov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-10-28drivers/block/z2ram.c: correct printing of sector_tGeert Uytterhoeven1-2/+4
If CONFIG_LBDAF=y, `sector_t' becomes `u64' instead of `unsigned long': drivers/block/z2ram.c: In function ¡do_z2_request¢: drivers/block/z2ram.c:83: warning: format %lu expects type `long unsigned int', but argument 2 has type `sector_t' Hence always cast it to `unsigned long long' for printing. Also do the pr_err() dance, while we're at it. Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-10-28aoe: don't use flush_scheduled_work()Tejun Heo1-3/+1
flush_scheduled_work() is deprecated and scheduled to be removed. Directly cancel aoedev->work on free instead of depending on flush_scheduled_works(). Signed-off-by: Tejun Heo <[email protected]> Cc: "Ed L. Cashin" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-10-28drivers/block/drbd/drbd_main.c: fix error pathNicolas Kaiser1-1/+1
Failure to create drbd_ee_mempool appears not to get checked. Looks like a copy-and-paste problem to me. Signed-off-by: Nicolas Kaiser <[email protected]> Cc: Lars Ellenberg <[email protected]> Cc: Philipp Reisner <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2010-10-28power_supply: Mark twl4030_charger as brokenAnton Vorontsov1-0/+1
The driver is not buildable without MFD changes. For now, let's disable the driver as it breaks build for major platforms (i.e. x86). CC [M] drivers/power/twl4030_charger.o drivers/power/twl4030_charger.c: In function 'twl4030_clear_set_boot_bci': drivers/power/twl4030_charger.c:105: error: 'TWL4030_PM_MASTER_BOOT_BCI' undeclared (first use in this function) drivers/power/twl4030_charger.c:105: error: (Each undeclared identifier is reported only once drivers/power/twl4030_charger.c:105: error: for each function it appears in.) drivers/power/twl4030_charger.c: In function 'twl4030_bci_have_vbus': drivers/power/twl4030_charger.c:137: error: 'TWL4030_PM_MASTER_STS_HW_CONDITIONS' undeclared (first use in this function) drivers/power/twl4030_charger.c: In function 'twl4030_bci_probe': drivers/power/twl4030_charger.c:477: warning: overflow in implicit constant conversion drivers/power/twl4030_charger.c:485: warning: overflow in implicit constant conversion make[2]: *** [drivers/power/twl4030_charger.o] Error 1 We can re-enable it if MFD tree will finally merge into 2.6.37. Reported-by: Ingo Molnar <[email protected]> Signed-off-by: Anton Vorontsov <[email protected]>
2010-10-27Merge branch 'upstream-merge' of ↵Linus Torvalds33-1131/+2510
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'upstream-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (50 commits) ext4,jbd2: convert tracepoints to use major/minor numbers ext4: optimize orphan_list handling for ext4_setattr ext4: fix unbalanced mutex unlock in error path of ext4_li_request_new ext4: fix compile error in ext4_fallocate() ext4: move ext4_mb_{get,put}_buddy_cache_lock and make them static ext4: rename mark_bitmap_end() to ext4_mark_bitmap_end() ext4: move flush_completed_IO to fs/ext4/fsync.c and make it static ext4: rename {ext,idx}_pblock and inline small extent functions ext4: make various ext4 functions be static ext4: rename {exit,init}_ext4_*() to ext4_{exit,init}_*() ext4: fix kernel oops if the journal superblock has a non-zero j_errno ext4: update writeback_index based on last page scanned ext4: implement writeback livelock avoidance using page tagging ext4: tidy up a void argument in inode.c ext4: add batched_discard into ext4 feature list ext4: Add batched discard support for ext4 fs: Add FITRIM ioctl ext4: Use return value from sb_issue_discard() ext4: Check return value of sb_getblk() and friends ext4: use bio layer instead of buffer layer in mpage_da_submit_io ...
2010-10-27Merge branch 'next' into upstream-mergeTheodore Ts'o33-1131/+2510
Conflicts: fs/ext4/inode.c fs/ext4/mballoc.c include/trace/events/ext4.h
2010-10-27Merge branch 'drm-core-next' of ↵Linus Torvalds6-6/+17
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: enable unmappable vram for evergreen drm/radeon/kms: fix tiled db height calculation on 6xx/7xx drm/radeon/kms: fix handling of tex lookup disable in cs checker on r2xx
2010-10-27Merge branch 'for_linus' of ↵Linus Torvalds15-69/+137
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: (24 commits) quota: Fix possible oops in __dquot_initialize() ext3: Update kernel-doc comments jbd/2: fixed typos ext2: fixed typo. ext3: Fix debug messages in ext3_group_extend() jbd: Convert atomic_inc() to get_bh() ext3: Remove misplaced BUFFER_TRACE() in ext3_truncate() jbd: Fix debug message in do_get_write_access() jbd: Check return value of __getblk() ext3: Use DIV_ROUND_UP() on group desc block counting ext3: Return proper error code on ext3_fill_super() ext3: Remove unnecessary casts on bh->b_data ext3: Cleanup ext3_setup_super() quota: Fix issuing of warnings from dquot_transfer quota: fix dquot_disable vs dquot_transfer race v2 jbd: Convert bitops to buffer fns ext3/jbd: Avoid WARN() messages when failing to write the superblock jbd: Use offset_in_page() instead of manual calculation jbd: Remove unnecessary goto statement jbd: Use printk_ratelimited() in journal_alloc_journal_head() ...
2010-10-28sh: intc: switch irq_desc iteration to new active IRQ iterator.Paul Mundt1-8/+2
There's no need to iterative over every single irq_desc when we can already work out which IRQs have a backing descriptor via the shiny new for_each_active_irq(). Switch to that instead. Signed-off-by: Paul Mundt <[email protected]>
2010-10-28sh: fix up cpu hotplug IRQ migration for irq_data changes.Paul Mundt1-10/+14
This fixes up the __cpu_disable() path's IRQ migration for the irq_data changes. Signed-off-by: Paul Mundt <[email protected]>
2010-10-27ext4,jbd2: convert tracepoints to use major/minor numbersTheodore Ts'o2-156/+251
Unfortunately perf can't deal with anything other than direct structure accesses in the TP_printk() section. It will drop dead when it sees jbd2_dev_to_name() in the "print fmt" section of the tracepoint. Addresses-Google-Bug: 3138508 Signed-off-by: "Theodore Ts'o" <[email protected]>
2010-10-27ext4: optimize orphan_list handling for ext4_setattrDmitry Monakhov1-3/+7
Surprisingly chown() on ext4 is not SMP scalable operation. Due to unconditional orphan_del(NULL, inode) in ext4_setattr() result in significant performance overhead because of global orphan mutex, especially in no-journal mode (where orphan_add() is noop). It is possible to skip explicit orphan_del if possible. Results of fchown() micro-benchmark in no-journal mode while (1) { iteration++; fchown(fd, uid, gid); fchown(fd, uid + 1, gid + 1) } measured: iterations per millisecond | nr_tasks | w/o patch | with patch | | 1 | 142 | 185 | | 4 | 109 | 642 | Signed-off-by: Dmitry Monakhov <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>