Displaying 17 results from an estimated 17 matches for "s_umount".
2012 Apr 26
7
[PATCH 2/4] Btrfs: fix deadlock on sb->s_umount when doing umount
The reason the deadlock is that:
Task Btrfs-cleaner
umount()
down_write(&s->s_umount)
sync_filesystem()
do auto-defragment and produce
lots of dirty pages
close_ctree()
wait for the end of
btrfs-cleaner
start_transaction
reserve space
shrink_delalloc()
writeback_inodes_sb_nr_if_idle()
down_read(&sb->s_umount...
2012 Apr 29
0
[PATCH 1/2] vfs: re-implement writeback_inodes_sb(_nr)_if_idle() and rename them
writeback_inodes_sb(_nr)_if_idle() is re-implemented by replacing down_read()
with down_read_trylock() because
- If ->s_umount is write locked, then the sb is not idle. That is
writeback_inodes_sb(_nr)_if_idle() needn''t wait for the lock.
- writeback_inodes_sb(_nr)_if_idle() grabs s_umount lock when it want to start
writeback, it may bring us deadlock problem when doing umount.
(Ex. Btrfs has such a problem,...
2008 Aug 19
0
[PATCH] Reinstate '-osubvol=.' option to mount entire tree
...em_type *fs_type, int flags,
s->s_flags |= MS_ACTIVE;
}
- mutex_lock(&s->s_root->d_inode->i_mutex);
- root = lookup_one_len(subvol_name, s->s_root, strlen(subvol_name));
- mutex_unlock(&s->s_root->d_inode->i_mutex);
- if (IS_ERR(root)) {
- up_write(&s->s_umount);
- deactivate_super(s);
- error = PTR_ERR(root);
- goto error;
- }
- if (!root->d_inode) {
- dput(root);
- up_write(&s->s_umount);
- deactivate_super(s);
- error = -ENXIO;
- goto error;
+ if (!strcmp(subvol_name, "."))
+ root = dget(s->s_root);
+ else {
+ mutex_loc...
2007 Aug 23
2
give me some works
hello, Chris
In the next several months, I will have a lot of spare time. I will
be happy if you assign some work to me. I have learn linux kernel
for years but only fix a few small bugs in IP stack. In the past few
months, I read some EXT4/VFS codes. I began reading source of btrfs
ten days ago and have read it twice now.
Regards
YZ
2013 Jun 20
0
[PATCH] Btrfs: stop using try_to_writeback_inodes_sb_nr to flush delalloc
...pages)
{
struct super_block *sb = root->fs_info->sb;
- int started;
- /* If we can not start writeback, just sync all the delalloc file. */
- started = try_to_writeback_inodes_sb_nr(sb, nr_pages,
- WB_REASON_FS_FREE_SPACE);
- if (!started) {
+ if (down_read_trylock(&sb->s_umount)) {
+ writeback_inodes_sb_nr(sb, nr_pages, WB_REASON_FS_FREE_SPACE);
+ up_read(&sb->s_umount);
+ } else {
/*
* We needn''t worry the filesystem going from r/w to r/o though
* we don''t acquire ->s_umount mutex, because the filesystem
--
1.7.7.6
--
To unsubsc...
2010 Jan 29
0
[PATCH 3/3] ocfs2:freeze-thaw: make it work -v2
...t;j_journal);
+ if (status)
+ mlog(ML_ERROR, "flushing journal failed %d\n", status);
+ }
return 0;
}
@@ -1225,6 +1242,9 @@ static void ocfs2_kill_sb(struct super_block *sb)
if (!osb || atomic_read(&osb->vol_state) == VOLUME_DISABLED)
goto out;
+ up_write(&sb->s_umount);
+ ocfs2_set_osb_flag(osb, OCFS2_OSB_UMOUNT_INPROG);
+ down_write(&sb->s_umount);
/* Prevent further queueing of inode drop events */
spin_lock(&dentry_list_lock);
ocfs2_set_osb_flag(osb, OCFS2_OSB_DROP_DENTRY_LOCK_IMMED);
@@ -2171,6 +2191,8 @@ static int ocfs2_initialize_super(st...
2019 Sep 05
0
[PATCH 18/18] virtiofs: Remove TODO item from virtio_fs_free_devs()
virtio_fs_free_devs() is now called from ->kill_sb(). By this time
all device queues have been quiesced. I am assuming that while
->kill_sb() is in progress, another mount instance will wait for
it to finish (sb->s_umount mutex provides mutual exclusion).
W.r.t ->remove path, we should be fine as we are not touching vdev
or virtqueues. And we have reference on virtio_fs object, so we know
rest of the data structures are valid.
So I can't see the need of any additional locking yet.
Signed-off-by: Vivek Goya...
2002 Dec 15
1
ext3 updates for 2.4.20
There are three patches at
http://www.zip.com.au/~akpm/linux/patches/2.4/2.4.20/
sync_fs.patch:
Fix the ext3 data=journal data-loss-on-unmount bug
sync_fs-fix.patch:
Fix sync_fs.patch to not deadlock the fs when running
`mount -o remount' against a heavily loaded filesystem.
ext3-use-after-free.patch
Fix a use-after-free bug which can cause memory corruption
if the filesystem runs
2004 Sep 15
1
RC2 zaptel compile problem
...; isn't known
include/linux/fs.h:441: error: storage size of `i_alloc_sem' isn't known
include/linux/fs.h:447: error: storage size of `i_data' isn't known
include/linux/fs.h:574: error: storage size of `f_owner' isn't known
include/linux/fs.h:745: error: storage size of `s_umount' isn't known
include/linux/fs.h:746: error: storage size of `s_lock' isn't known
include/linux/fs.h:773: error: storage size of `s_vfs_rename_sem' isn't
known
{standard input}: Assembler messages:
{standard input}:747: Error: symbol `rv' is already defined
{standard inpu...
2002 Dec 06
2
[patch] fix the ext3 data=journal unmount bug
...s(kdev_t dev)
if (sb) {
if (sb->s_dirt)
write_super(sb);
+ if (wait && sb->s_op && sb->s_op->sync_fs)
+ sb->s_op->sync_fs(sb);
drop_super(sb);
}
return;
@@ -467,6 +469,8 @@ restart:
spin_unlock(&sb_lock);
down_read(&sb->s_umount);
write_super(sb);
+ if (wait && sb->s_op && sb->s_op->sync_fs)
+ sb->s_op->sync_fs(sb);
drop_super(sb);
goto restart;
} else
--- linux-akpm/fs/ext3/super.c~sync_fs Thu Dec 5 21:33:56 2002
+++ linux-akpm-akpm/fs/ext3/super.c Thu Dec 5 21:33:56 20...
2007 Jun 03
1
FW: Centos kernel source
I already did what you said,please see the log results in zaptel.rar
attached when I compile zapltel using
make
*********************************************
No employee or agent is authorized to conclude any binding agreement on behalf of Xplorium with another party by e-mail without express written confirmation by an officer of Xplorium. Any views expressed by an individual in this
2007 Jun 03
6
Centos kernel source
I am using centos 4.4 server cd ,when I am trying to compile zaptel 1.4.2
... error appears >
>From where I can get the missing rpms .or kernel source
>From where I can get the centos 4.4 server kernel source.
Regards
*********************************************
No employee or agent is authorized to conclude any binding agreement on behalf of Xplorium with another
2019 Sep 05
38
[PATCH 00/18] virtiofs: Fix various races and cleanups round 1
Hi,
Michael Tsirkin pointed out issues w.r.t various locking related TODO
items and races w.r.t device removal.
In this first round of cleanups, I have taken care of most pressing
issues.
These patches apply on top of following.
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#virtiofs-v4
I have tested these patches with mount/umount and device removal using
qemu monitor. For
2011 Aug 26
0
[PATCH] Btrfs: make some functions return void
...ectid)
{
root->node = NULL;
root->commit_root = NULL;
@@ -1116,8 +1116,6 @@ static int __setup_root(u32 nodesize, u32 leafsize, u32 sectorsize,
INIT_LIST_HEAD(&root->anon_super.s_list);
INIT_LIST_HEAD(&root->anon_super.s_instances);
init_rwsem(&root->anon_super.s_umount);
-
- return 0;
}
static int find_and_setup_root(struct btrfs_root *tree_root,
@@ -2412,7 +2410,7 @@ int write_ctree_super(struct btrfs_trans_handle *trans,
return ret;
}
-int btrfs_free_fs_root(struct btrfs_fs_info *fs_info, struct btrfs_root *root)
+void btrfs_free_fs_root(struct btrfs_f...
2011 Jun 24
10
[PATCH 0/9] remove i_alloc_sem V2
i_alloc_sem has always been a bit of an odd "lock". It''s the only remaining
rw_semaphore that can be released by a different thread than the one that
locked it, and it''s use case in the core direct I/O code is more like a
counter given that the writers already have external serialization.
This series removes it in favour of a simpler counter scheme, thus getting
rid
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...;
+ btrfs_fixable_bug_on(ret);
ret = btrfs_finish_sprout(trans, root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
} else {
ret = btrfs_add_device(trans, root, device);
}
@@ -1562,7 +1562,7 @@ int btrfs_init_new_device(struct btrfs_root *root, char *device_path)
up_write(&sb->s_umount);
ret = btrfs_relocate_sys_chunks(root);
- BUG_ON(ret);
+ btrfs_fixable_bug_on(ret);
}
out:
mutex_unlock(&root->fs_info->volume_mutex);
@@ -1674,10 +1674,10 @@ static int btrfs_free_chunk(struct btrfs_trans_handle *trans,
key.type = BTRFS_CHUNK_ITEM_KEY;
ret = btrfs_sear...
2011 Aug 23
40
[PATCH 00/21] [RFC] Btrfs: restriper
Hello,
This patch series adds an initial implementation of restriper (it''s a
clever name for relocation framework that allows to do selective profile
changing and selective balancing with some goodies like pausing/resuming
and reporting progress to the user.
Profile changing is global (per-FS) so far, per-subvolume profiles
require some discussion and can be implemented in future.