mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] adds missed lock_kernel/unlock_kernel to reiserfs_dir_fsync().
@ 2001-03-02 16:54 Alexander Zarochentcev
  0 siblings, 0 replies; only message in thread
From: Alexander Zarochentcev @ 2001-03-02 16:54 UTC (permalink / raw)
  To: torvalds, alan; +Cc: linux-kernel, reiserfs-list

Hi !

Bug found in reiserfs in linux-2.4.2: reiserfs_dir_fsync has no
lock_kernel/unlock_kernel calls which are required by reiserfs journal
interface functions.  It causes reserfs_panic in any attempt to fsync a
directory (on SMP machines).

Bug report was related to qmail which likes to
fsync a directory.

This trivial fix cures the problem:

--- linux.old/fs/reiserfs/dir.c Fri Mar  2 14:48:12 2001
+++ linux/fs/reiserfs/dir.c     Fri Mar  2 14:49:31 2001
@@ -51,12 +51,16 @@
   int windex ;
   struct reiserfs_transaction_handle th ;

+  lock_kernel();
+
   journal_begin(&th, dentry->d_inode->i_sb, 1) ;
   windex = push_journal_writer("dir_fsync") ;
   reiserfs_prepare_for_journal(th.t_super, SB_BUFFER_WITH_SB(th.t_super), 1) ;
   journal_mark_dirty(&th, dentry->d_inode->i_sb, SB_BUFFER_WITH_SB (dentry->d_inode->i_sb)) ;
   pop_journal_writer(windex) ;
   journal_end_sync(&th, dentry->d_inode->i_sb, 1) ;
+
+  unlock_kernel();

   return ret ;
 }


Regards,
Alex.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-03-02 16:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-03-02 16:54 [PATCH] adds missed lock_kernel/unlock_kernel to reiserfs_dir_fsync() Alexander Zarochentcev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®