diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 20:58:44 -0400 |
commit | 426e1f5cec4821945642230218876b0e89aafab1 (patch) | |
tree | 2728ace018d0698886989da586210ef1543a7098 /drivers | |
parent | 9e5fca251f44832cb996961048ea977f80faf6ea (diff) | |
parent | 63997e98a3be68d7cec806d22bf9b02b2e1daabb (diff) |
Merge branch 'for-linus' of 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: (52 commits)
split invalidate_inodes()
fs: skip I_FREEING inodes in writeback_sb_inodes
fs: fold invalidate_list into invalidate_inodes
fs: do not drop inode_lock in dispose_list
fs: inode split IO and LRU lists
fs: switch bdev inode bdi's correctly
fs: fix buffer invalidation in invalidate_list
fsnotify: use dget_parent
smbfs: use dget_parent
exportfs: use dget_parent
fs: use RCU read side protection in d_validate
fs: clean up dentry lru modification
fs: split __shrink_dcache_sb
fs: improve DCACHE_REFERENCED usage
fs: use percpu counter for nr_dentry and nr_dentry_unused
fs: simplify __d_free
fs: take dcache_lock inside __d_path
fs: do not assign default i_ino in new_inode
fs: introduce a per-cpu last_ino allocator
new helper: ihold()
...
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/char/mem.c | 4 | ||||
-rw-r--r-- | drivers/infiniband/hw/ipath/ipath_fs.c | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/qib/qib_fs.c | 1 | ||||
-rw-r--r-- | drivers/misc/ibmasm/ibmasmfs.c | 1 | ||||
-rw-r--r-- | drivers/oprofile/oprofilefs.c | 1 | ||||
-rw-r--r-- | drivers/staging/pohmelfs/inode.c | 6 | ||||
-rw-r--r-- | drivers/usb/core/inode.c | 1 | ||||
-rw-r--r-- | drivers/usb/gadget/f_fs.c | 1 | ||||
-rw-r--r-- | drivers/usb/gadget/inode.c | 1 |
9 files changed, 12 insertions, 5 deletions
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index e985b1c2730e..1256454b2d43 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
@@ -876,6 +876,10 @@ static int memory_open(struct inode *inode, struct file *filp) | |||
876 | if (dev->dev_info) | 876 | if (dev->dev_info) |
877 | filp->f_mapping->backing_dev_info = dev->dev_info; | 877 | filp->f_mapping->backing_dev_info = dev->dev_info; |
878 | 878 | ||
879 | /* Is /dev/mem or /dev/kmem ? */ | ||
880 | if (dev->dev_info == &directly_mappable_cdev_bdi) | ||
881 | filp->f_mode |= FMODE_UNSIGNED_OFFSET; | ||
882 | |||
879 | if (dev->fops->open) | 883 | if (dev->fops->open) |
880 | return dev->fops->open(inode, filp); | 884 | return dev->fops->open(inode, filp); |
881 | 885 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_fs.c b/drivers/infiniband/hw/ipath/ipath_fs.c index d13e72685dcf..12d5bf76302c 100644 --- a/drivers/infiniband/hw/ipath/ipath_fs.c +++ b/drivers/infiniband/hw/ipath/ipath_fs.c | |||
@@ -57,6 +57,7 @@ static int ipathfs_mknod(struct inode *dir, struct dentry *dentry, | |||
57 | goto bail; | 57 | goto bail; |
58 | } | 58 | } |
59 | 59 | ||
60 | inode->i_ino = get_next_ino(); | ||
60 | inode->i_mode = mode; | 61 | inode->i_mode = mode; |
61 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 62 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
62 | inode->i_private = data; | 63 | inode->i_private = data; |
diff --git a/drivers/infiniband/hw/qib/qib_fs.c b/drivers/infiniband/hw/qib/qib_fs.c index a0e6613e8be6..7e433d75c775 100644 --- a/drivers/infiniband/hw/qib/qib_fs.c +++ b/drivers/infiniband/hw/qib/qib_fs.c | |||
@@ -58,6 +58,7 @@ static int qibfs_mknod(struct inode *dir, struct dentry *dentry, | |||
58 | goto bail; | 58 | goto bail; |
59 | } | 59 | } |
60 | 60 | ||
61 | inode->i_ino = get_next_ino(); | ||
61 | inode->i_mode = mode; | 62 | inode->i_mode = mode; |
62 | inode->i_uid = 0; | 63 | inode->i_uid = 0; |
63 | inode->i_gid = 0; | 64 | inode->i_gid = 0; |
diff --git a/drivers/misc/ibmasm/ibmasmfs.c b/drivers/misc/ibmasm/ibmasmfs.c index af2497ae5fe3..0a53500636c9 100644 --- a/drivers/misc/ibmasm/ibmasmfs.c +++ b/drivers/misc/ibmasm/ibmasmfs.c | |||
@@ -146,6 +146,7 @@ static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode) | |||
146 | struct inode *ret = new_inode(sb); | 146 | struct inode *ret = new_inode(sb); |
147 | 147 | ||
148 | if (ret) { | 148 | if (ret) { |
149 | ret->i_ino = get_next_ino(); | ||
149 | ret->i_mode = mode; | 150 | ret->i_mode = mode; |
150 | ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME; | 151 | ret->i_atime = ret->i_mtime = ret->i_ctime = CURRENT_TIME; |
151 | } | 152 | } |
diff --git a/drivers/oprofile/oprofilefs.c b/drivers/oprofile/oprofilefs.c index 95f711b251ad..449de59bf35b 100644 --- a/drivers/oprofile/oprofilefs.c +++ b/drivers/oprofile/oprofilefs.c | |||
@@ -28,6 +28,7 @@ static struct inode *oprofilefs_get_inode(struct super_block *sb, int mode) | |||
28 | struct inode *inode = new_inode(sb); | 28 | struct inode *inode = new_inode(sb); |
29 | 29 | ||
30 | if (inode) { | 30 | if (inode) { |
31 | inode->i_ino = get_next_ino(); | ||
31 | inode->i_mode = mode; | 32 | inode->i_mode = mode; |
32 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; | 33 | inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; |
33 | } | 34 | } |
diff --git a/drivers/staging/pohmelfs/inode.c b/drivers/staging/pohmelfs/inode.c index 97dae297ca3c..c62d30017c07 100644 --- a/drivers/staging/pohmelfs/inode.c +++ b/drivers/staging/pohmelfs/inode.c | |||
@@ -882,12 +882,8 @@ static struct inode *pohmelfs_alloc_inode(struct super_block *sb) | |||
882 | static int pohmelfs_fsync(struct file *file, int datasync) | 882 | static int pohmelfs_fsync(struct file *file, int datasync) |
883 | { | 883 | { |
884 | struct inode *inode = file->f_mapping->host; | 884 | struct inode *inode = file->f_mapping->host; |
885 | struct writeback_control wbc = { | ||
886 | .sync_mode = WB_SYNC_ALL, | ||
887 | .nr_to_write = 0, /* sys_fsync did this */ | ||
888 | }; | ||
889 | 885 | ||
890 | return sync_inode(inode, &wbc); | 886 | return sync_inode_metadata(inode, 1); |
891 | } | 887 | } |
892 | 888 | ||
893 | ssize_t pohmelfs_write(struct file *file, const char __user *buf, | 889 | ssize_t pohmelfs_write(struct file *file, const char __user *buf, |
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c index 095fa5366690..e2f63c0ea09d 100644 --- a/drivers/usb/core/inode.c +++ b/drivers/usb/core/inode.c | |||
@@ -276,6 +276,7 @@ static struct inode *usbfs_get_inode (struct super_block *sb, int mode, dev_t de | |||
276 | struct inode *inode = new_inode(sb); | 276 | struct inode *inode = new_inode(sb); |
277 | 277 | ||
278 | if (inode) { | 278 | if (inode) { |
279 | inode->i_ino = get_next_ino(); | ||
279 | inode->i_mode = mode; | 280 | inode->i_mode = mode; |
280 | inode->i_uid = current_fsuid(); | 281 | inode->i_uid = current_fsuid(); |
281 | inode->i_gid = current_fsgid(); | 282 | inode->i_gid = current_fsgid(); |
diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c index e4f595055208..e093fd8d04d3 100644 --- a/drivers/usb/gadget/f_fs.c +++ b/drivers/usb/gadget/f_fs.c | |||
@@ -980,6 +980,7 @@ ffs_sb_make_inode(struct super_block *sb, void *data, | |||
980 | if (likely(inode)) { | 980 | if (likely(inode)) { |
981 | struct timespec current_time = CURRENT_TIME; | 981 | struct timespec current_time = CURRENT_TIME; |
982 | 982 | ||
983 | inode->i_ino = usbfs_get_inode(); | ||
983 | inode->i_mode = perms->mode; | 984 | inode->i_mode = perms->mode; |
984 | inode->i_uid = perms->uid; | 985 | inode->i_uid = perms->uid; |
985 | inode->i_gid = perms->gid; | 986 | inode->i_gid = perms->gid; |
diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c index d1d72d946b04..ba145e7fbe03 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c | |||
@@ -1991,6 +1991,7 @@ gadgetfs_make_inode (struct super_block *sb, | |||
1991 | struct inode *inode = new_inode (sb); | 1991 | struct inode *inode = new_inode (sb); |
1992 | 1992 | ||
1993 | if (inode) { | 1993 | if (inode) { |
1994 | inode->i_ino = get_next_ino(); | ||
1994 | inode->i_mode = mode; | 1995 | inode->i_mode = mode; |
1995 | inode->i_uid = default_uid; | 1996 | inode->i_uid = default_uid; |
1996 | inode->i_gid = default_gid; | 1997 | inode->i_gid = default_gid; |