summaryrefslogtreecommitdiffstats
path: root/fs
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] fuse: fix bitfield raceMiklos Szeredi2006-01-162-3/+23
| | | | | | | | | | | | | | | | | | | | | Fix race in setting bitfields of fuse_conn. Spotted by Andrew Morton. The two fields ->connected and ->mounted were always changed with the fuse_lock held. But other bitfields in the same structure were changed without the lock. In theory this could lead to losing the assignment of even the ones under lock. The chosen solution is to change these two fields to be a full unsigned type. The other bitfields aren't "important" enough to warrant the extra complexity of full locking or changing them to bitops. For all bitfields document why they are safe wrt. concurrent assignments. Also make the initialization of the 'num_waiting' atomic counter explicit. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: use asynchronous READ requests for readpagesMiklos Szeredi2006-01-161-17/+27
| | | | | | | | | | | | This patch changes fuse_readpages() to send READ requests asynchronously. This makes it possible for userspace filesystems to utilize the kernel readahead logic instead of having to implement their own (resulting in double caching). Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: READ request initializationMiklos Szeredi2006-01-163-24/+18
| | | | | | | | | Add a separate function for filling in the READ request. This will make it possible to send asynchronous READ requests as well as synchronous ones. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: move INIT handling to inode.cMiklos Szeredi2006-01-163-50/+45
| | | | | | | | | Now the INIT requests can be completely handled in inode.c and the fuse_send_init() function need not be global any more. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: add asynchronous request supportMiklos Szeredi2006-01-163-14/+43
| | | | | | | | | | | | Add possibility for requests to run asynchronously and call an 'end' callback when finished. With this, the special handling of the INIT and RELEASE requests can be cleaned up too. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: add connection abortingMiklos Szeredi2006-01-163-6/+88
| | | | | | | | | | | | | | | | | | | | Add ability to abort a filesystem connection. With the introduction of asynchronous reads, the ability to interrupt any request is not enough to dissolve deadlocks, since now waiting for the request completion (page unlocked) is independent of the actual request, so in a deadlock all threads will be uninterruptible. The solution is to make it possible to abort all requests, even those currently undergoing I/O to/from userspace. The natural interface for this is 'mount -f mountpoint', but that only works as long as the filesystem is attached. So also add an 'abort' attribute to the sysfs view of the connection. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: add number of waiting requests attributeMiklos Szeredi2006-01-163-3/+21
| | | | | | | | | | This patch adds the 'waiting' attribute which indicates how many filesystem requests are currently waiting to be completed. A non-zero value without any filesystem activity indicates a hung or deadlocked filesystem. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: make fuse connection a kobjectMiklos Szeredi2006-01-163-43/+164
| | | | | | | | | | | | | Kobjectify fuse_conn, and make it visible under /sys/fs/fuse/connections. Lacking any natural naming, connections are numbered. This patch doesn't add any attributes, just the infrastructure. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: extend semantics of connected flagMiklos Szeredi2006-01-163-4/+6
| | | | | | | | | | | | | | The ->connected flag for a fuse_conn object previously only indicated whether the device file for this connection is currently open or not. Change it's meaning so that it indicates whether the connection is active or not: now either umount or device release will clear the flag. The separate ->mounted flag is still needed for handling background requests. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: introduce list for requests under I/OMiklos Szeredi2006-01-163-6/+10
| | | | | | | | | | Create a new list for requests in the process of being transfered to/from userspace. This will be needed to be able to abort all requests even those currently under I/O Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: introduce unified request stateMiklos Szeredi2006-01-162-11/+19
| | | | | | | | | | | The state of request was made up of 2 bitfields (->sent and ->finished) and of the fact that the request was on a list or not. Unify this into a single state field. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: miscellaneous cleanupMiklos Szeredi2006-01-163-15/+6
| | | | | | | | | | | | | | | - remove some unneeded assignments - use kzalloc instead of kmalloc + memset - simplify setting sb->s_fs_info - in fuse_send_init() use fuse_get_request() instead of do_get_request() helper Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: uninline some functionsMiklos Szeredi2006-01-163-21/+17
| | | | | | | | Inline keyword is unnecessary in most cases. Clean them up. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: handle error INIT replyMiklos Szeredi2006-01-161-1/+1
| | | | | | | | Handle the case when the INIT request is answered with an error. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: fix request_end()Miklos Szeredi2006-01-161-11/+7
| | | | | | | | | | | This function used the request object after decrementing its reference count and releasing the lock. This could in theory lead to all sorts of problems. Fix and simplify at the same time. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] fuse: fuse_copy_finish() order fixMiklos Szeredi2006-01-161-1/+3
| | | | | | | | | | fuse_copy_finish() must be called before request_end(), since the later might sleep, and no sleeping is allowed between fuse_copy_one() and fuse_copy_finish() because of kmap_atomic()/kunmap_atomic() used in them. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] add /sys/fsMiklos Szeredi2006-01-161-0/+5
| | | | | | | | | This patch adds an empty /sys/fs, which filesystems can use. Signed-off-by: Miklos Szeredi <miklos@szeredi.hu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] partitions: Read Rio Karma partition tableBob Copeland2006-01-165-0/+77
| | | | | | | | | | | | The Rio Karma portable MP3 player has its own proprietary partition table. The partition layout is similar to a DOS boot sector but it begins at a different offset and uses a different magic number (0xAB56 instead of 0xAA55). Add support for it to enable mounting the device. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Make alloc_page_buffers() initialise buffer_heads using init_buffer(),Nathan Scott2006-01-171-1/+1
| | | | | | | | like other routines here, to ensure buffers are correctly initialised with respect to b_private/b_end_io. Fixes an odd interaction between XFS and reiserfs. Signed-off-by: Nathan Scott <nathans@sgi.com>
* Merge git://oss.sgi.com:8090/oss/git/xfs-2.6Linus Torvalds2006-01-153-20/+10
|\
| * [XFS] remove no-longer-needed IS_NOATIME macro, twas just a build workaroundNathan Scott2006-01-161-3/+0
| | | | | | | | | | Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] mutex fallout - fix debug builds and remove no-longer-useful comment.Nathan Scott2006-01-162-12/+2
| | | | | | | | Signed-off-by: Nathan Scott <nathans@sgi.com>
| * [XFS] Fix symlink creation too, with respect to initialising SELinuxNathan Scott2006-01-161-5/+8
| | | | | | | | | | | | | | | | | | context. SGI-PV: 946762 SGI-Modid: xfs-linux-melb:xfs-kern:24983a Signed-off-by: Nathan Scott <nathans@sgi.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds2006-01-159-210/+210
|\ \ | |/ |/|
| * correct email address of Manfred SpraulChristian Kujau2006-01-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | I tried to send the forcedeth maintainer an email, but it came back with: "The mail address manfreds@colorfullife.com is not read anymore. Please resent your mail to manfred@ instead of manfreds@." This patch fixes this. Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * return statement cleanup - kill pointless parenthesesJesper Juhl2006-01-158-209/+209
| | | | | | | | | | | | | | This patch removes pointless parentheses from return statements. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | [PATCH] Mark some key VFS functions as __always_inlineArjan van de Ven2006-01-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark a few VFS functions as mandatory inline (based on Al Viro's request); these must be inline due to stack usage issues during a recursive loop that happens during the recursive symlink resolution (symlink to a symlink to a symlink ..) This patch at this point does not change behavior and is for documentation purposes only (but this changes later in the series) Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] smbfs: remove kmalloc wrapperPekka Enberg2006-01-143-34/+12
| | | | | | | | | | | | | | | | Remove the remaining kmalloc() wrapper bits from fs/smbfs/. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ncpfs: remove kmalloc wrapperPekka Enberg2006-01-142-26/+13
| | | | | | | | | | | | | | | | Remove remaining kmalloc wrapper bits from fs/ncpfs/. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] quota: make useless quota error message informativeValdis.Kletnieks@vt.edu2006-01-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fs/quota_v2.c can, under some conditions, issue a kernel message that says, in totality, 'failed read'. This patch does the following: 1) Gives a hint who issued the error message, so people reading the logs don't have to go grepping the entire kernel tree (with 11 false positives). 2) Say what amount of data we expected, and actually got. Signed-off-by: Valdis Kletnieks <valdis.kletnieks@vt.edu> Cc: Jan Kara <jack@ucw.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] reiserfs: remove d_splice_alias NULL check from reiserfs_lookupPekka Enberg2006-01-141-5/+1
| | | | | | | | | | | | | | | | | | Remove redundant NULL check in reiserfs_lookup() as d_splice_alias() can take NULL inode as input. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] isofs: remove d_splice_alias NULL check from isofs_lookupPekka Enberg2006-01-141-4/+1
| | | | | | | | | | | | | | | | | | Remove redundant NULL check in isofs_lookup() as d_splice_alias() can take NULL inode as input. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ext3: remove d_splice_alias NULL check from ext3_lookupPekka Enberg2006-01-141-4/+1
| | | | | | | | | | | | | | | | | | Remove redundant NULL check in ext3_lookup() as d_splice_alias() can take NULL inode as input. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] ext2: remove d_splice_alias NULL check from ext2_lookupPekka Enberg2006-01-141-4/+1
| | | | | | | | | | | | | | | | | | Remove redundant NULL check in ext2_lookup() as d_splice_alias() can take NULL inode as input. Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Add tmpfs options for memory placement policiesRobin Holt2006-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Anything that writes into a tmpfs filesystem is liable to disproportionately decrease the available memory on a particular node. Since there's no telling what sort of application (e.g. dd/cp/cat) might be dropping large files there, this lets the admin choose the appropriate default behavior for their site's situation. Introduce a tmpfs mount option which allows specifying a memory policy and a second option to specify the nodelist for that policy. With the default policy, tmpfs will behave as it does today. This patch adds support for preferred, bind, and interleave policies. The default policy will cause pages to be added to tmpfs files on the node which is doing the writing. Some jobs expect a single process to create and manage the tmpfs files. This results in a node which has a significantly reduced number of free pages. With this patch, the administrator can specify the policy and nodes for that policy where they would prefer allocations. This patch was originally written by Brent Casavant and Hugh Dickins. I added support for the bind and preferred policies and the mpol_nodelist mount option. Signed-off-by: Brent Casavant <bcasavan@sgi.com> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Robin Holt <holt@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Unlinline a bunch of other functionsArjan van de Ven2006-01-1416-48/+48
| | | | | | | | | | | | | | | | | | | | | | Remove the "inline" keyword from a bunch of big functions in the kernel with the goal of shrinking it by 30kb to 40kb Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] convert /proc/devices to use seq_file interfaceNeil Horman2006-01-142-33/+223
| | | | | | | | | | | | | | | | | | | | | | | | A Christoph suggested that the /proc/devices file be converted to use the seq_file interface. This patch does that. I've obxerved one or two installation that had sufficiently large sans that they overran the 4k limit on /proc/devices. Signed-off-by: Neil Horman <nhorman@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] autofs4 oops fixIan Kent2006-01-141-0/+2
|/ | | | | | | We forgot to initialise a couple of nameidata fields. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ufs cleanupEvgeniy2006-01-145-55/+64
| | | | | | | | | | | | | | Here is update of ufs cleanup patch, brought on by the recently fixed ubh_get_usb_second() bug that made some ugly code rather painfully obvious. It also includes - fix compilation warnings which appears if debug mode turn on - remove unnecessary duplication of code to support UFS2 I tested it on ufs1 and ufs2 file-systems. Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge ../linux-2.6Paul Mackerras2006-01-141-2/+2
|\
| * [PATCH] Fix oops in ufs_fill_super at mount timeEvgeniy2006-01-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | There's a lack of parenthesis in fs/ufs/utils.h, so instead of the 512th byte of buffer, the usb2 pointer will point to the nth structure of type ufs_super_block_second. This can cause a mount-time oops if you're unlucky (especially with DEBUG_PAGEALLOC, which is how Alexey Dobriyan saw this problem) Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Acked-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] powerpc: Add/remove/update properties in /proc/device-treeDave C Boutcher2006-01-131-0/+24
|/ | | | | | | | | | | Add support to the proc_device_tree file for removing and updating properties. Remove just removes the proc file, update changes the data pointer within the proc file. The remainder of the device-tree changes occur elsewhere. Signed-off-by: Dave Boutcher <sleddog@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* Merge git://oss.sgi.com:8090/oss/git/xfs-2.6Linus Torvalds2006-01-1257-2572/+2717
|\
| * Merge HEAD from oss.sgi.com:/oss/git/linux-2.6.git Nathan Scott2006-01-126-9/+6
| |\
| * | [XFS] Fix follow_link when dealing with symlinks larger than 256 bytes. Nathan Scott2006-01-121-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Yamamoto Takashi. SGI-PV: 947953 SGI-Modid: xfs-linux-melb:xfs-kern:24962a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * | [XFS] Merge in trivial changes, sync up headers with userspaceNathan Scott2006-01-1211-141/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | equivalents. SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:24961a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * | [XFS] Fix compiler warnings from older gcc versions wrt printfalikeNathan Scott2006-01-111-12/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | arguments. SGI-PV: 907752 SGI-Modid: xfs-linux-melb:xfs-kern:24901a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * | [XFS] Fix some build fallout from atime changes.Nathan Scott2006-01-113-5/+21
| | | | | | | | | | | | | | | | | | | | | SGI-PV: 946679 SGI-Modid: xfs-linux-melb:xfs-kern:24899a Signed-off-by: Nathan Scott <nathans@sgi.com>
| * | [XFS] remove XFS_LOG_RES_DEBUG and turn on the res history all the time toTim Shimmin2006-01-113-28/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get more useful error info on space for trans items SGI-PV: 947110 SGI-Modid: xfs-linux-melb:xfs-kern:24886a Signed-off-by: Tim Shimmin <tes@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
| * | [XFS] xfssyncd is responsible for flushing inode or device's data byYingping Lu2006-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | extracting the work from its queue. In addition, this processing also decrement the inode's i_count. If there are any remaining works in queue before this process terminates, we have unbalanced increment and decrement of i_count. Thus it can cause assertion failure of vn_count. The fix allows xyssyncd to process any remaining work before it is shutdown. SGI-PV: 945935 SGI-Modid: xfs-linux-melb:xfs-kern:203970a Signed-off-by: Yingping Lu <yingping@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
OpenPOWER on IntegriCloud