search for: s_umount

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.