|
|
Log in / Subscribe / Register

FS: userspace notification of errors

From:  Denis Karpov <ext-denis.2.karpov@nokia.com>
To:  hirofumi@mail.parknet.co.jp
Subject:  [PATCH 0/5][V2] FS: userspace notification of errors
Date:  Thu, 11 Jun 2009 15:24:44 +0300
Message-ID:  <1244723089-1145-1-git-send-email-ext-denis.2.karpov@nokia.com>
Cc:  linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, adrian.hunter@nokia.com, artem.bityutskiy@nokia.com, akpm@linux-foundation.org, kay.sievers@vrfy.org
Archive‑link:  Article


Hello,

here's a set of patches that implement user space notification of file
system run-rim errors through sysfs/uevents. The first approach was
discussed here:
http://marc.info/?t=124404183600003&r=1&w=2
Reasons behind the feature are summarized here:
http://marc.info/?l=linux-kernel&m=124409549418926&...

Hand-held device with large (large => lengthy/expensive fsck process)
FAT volumes on MMC that are error prone, especially in the scenario
when these volumes are exported through g_file_storage as USB mass
storage to be used externally; instead of just remounting read-only
on 'run-rime' error, notify user space and expect it to do something
about fixing the FS.

Implementation summary:

- add sysfs support for FAT fs: per-mounted-volume kobject and sysfs
  hierarchy under /sys/fs/fat. Same approach as used by ext4 and fuse.
  (PATCH 1)

- introduce kobject attribute 'fs_fault' (/sys/fs/fat/<volume>/fs_fault);
  the attribute is '0' on (re)mount and set to '1' upon an error. (PATCH 3)
  FAT error reporting facilities had to be re-factored (PATCH 2) in
  order to simplify sending error notifications. (PATCH 2)

- provide mechanism to optionally notify userspace of FAT fs volume 
  kobject's attribute changes with uevents. An uevent to be sent is of
  tyme KOBJ_CHANGE, with environment variable 'NAME=value', where NAME 
  is capitalized name of the attribute.
  (PATCH 4)

- add mount option 'notify', which will eneble sending uevents on a FAT 
  kobjects attributes; use it for 'fs_faults' attribute. (PATCH 5)

There were several objections to uevent usage, mostly with argument that
uevents are meant to be used within a device context. One might argue that
uevents are tied to kobjects that are not only used to represent devices,
but also for other things (/sys/modules, /sys/fs, /sys/firmware).

What is wrong with using uevents otherwise? What would be another way to
asyncronousely notify userspace of things happening in kernel, other
than though pseudo filesystem files (procfs, sysfs)?

Denis
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds