ask for help, a question about ext3_ioctl()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello, everyone.
I am puzzled when reading the function named  ext3_ioctl().

In the branch named EXT3_IOC_SETFLAGS, inode->mutex was lock firstly, a handle with 1 journal-blocks was started consequently via ext3_journal_start().

i investigated the code of ext3_journal_start(), found that if there were no journal blocks left at it happens the process who call ext3_journal_start would be hung up unless some journal block were released.

i want to confirm whether such a situation would happen : there are no journal blocks left when ext3_journal_start() called and other processes could not release the journal blocks they currently holding for an unkown reason. so, when a process who called ext3_ioctl with command "EXT3_IOC_SETFLAGS" will be hung up even though the inode->i_mutex was of locked. in such a situation, the inode->i_mutex would not be released.

a potential deadlock comes on?
 
many thanks here. :-)

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux